0

我的应用程序轮询特定的电子邮件帐户并将电子邮件附件下载到磁盘。我能够成功处理内联电子邮件附件和大纲附件作为部分(Javamail 部分的部分实例)。

但是,有一封特定的电子邮件,其中有一个类型为 的附件com.sun.mail.util.BASE64DecoderStream

因此,我无法获取文件名或其输入流。虽然,我可以在原始邮件标题中看到文件名。

以下是标题的快照:

    Date: Thu, 12 Sep 2013 13:05:29 -0400
    From: SXXXXX <SXXXXX@XXXXXXn.com>
    Subject: PO 926460
    Message-ID: <ADR38000000849147@prd410.gleason.com>
    X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrIKsWRWlGSWpSXmKPExsVy7Ey1ju7lL4ZBBp/nqVlsbr3K5MDosXdD
H3MAYxSXTUpqTmZZapG+XQJXRs/Cz2wFM64zVexdsIO5gXHDOaYuRk4OCQETib975jFD2GIS
F+6tZ+ti5OIQEjjGKLF3+VR2COc0o8SRNwsYQapYBLQl7nRuYgOx2QR0JOb8a2UHsYUFpCTa
Lq8FmyoioCHRuvk/2FReASOJV1ueQdmCEidnPmEBsTkFhCQ6rnaywmyesO4XM8R8Z4m316+B
7RISsJS40zyVDaJGU2LGgRtgu5gFbCWOfpkGZStKTOl+CGWrSazqWMg+gVFoFpJ1s5C0zELS    
    Content-Type: application/pdf; name="PO 926460.pdf"
    Content-Description: PO 926460
    Content-Transfer-Encoding: base64
    X-MS-Exchange-Organization-AuthSource: FANUCEXCHCHI03.FAC.local
    X-MS-Exchange-Organization-AuthAs: Anonymous
    X-TM-AS-Product-Ver: SMEX-10.0.0.1412-7.000.1014-20144.004
    X-TM-AS-Result: No--7.671100-5.000000-31
    X-TM-AS-User-Approved-Sender: No
    X-TM-AS-User-Blocked-Sender: No
    X-MS-Exchange-Organization-AVStamp-Mailbox: SMEXr^dE;1027300;0;This mail has
    been scanned by Trend Micro ScanMail for Microsoft Exchange;
    X-MS-Exchange-Organization-SCL: -1
    MIME-Version: 1.0

请协助,如何获取文件名并获取输入流,从而将其作为文件保存到磁盘。

4

1 回答 1

1

该邮件中没有附件。它是 MIME 类型“application/pdf”的单部分(而不是多部分)消息。由于 MimeMessage 是一个部件,因此只需像处理附件部件一样对待它。

于 2013-09-19T23:10:48.993 回答