使用base64decoderstream的内容实例解析电子邮件

时间:2013-09-19 13:48:51

标签: base64 javamail email-attachments

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

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

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

以下是标题的快照:

    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

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

1 个答案:

答案 0 :(得分:1)

该消息中没有附件。它是MIME类型“application / pdf”的单个部分(与multipart相对)消息。由于MimeMessage是一个部件,所以只需按照附件Part的方式对待它。