【发布时间】:2013-05-24 13:41:30
【问题描述】:
我目前正在编写一个应用程序,它应该扫描用户邮件中的特定附件并从电子邮件消息中提取它们。
我使用 Javamail 连接到邮箱,检索邮件并解析电子邮件内容。 当我检索带有一个附件的邮件时,Javamail 给我一个 MultiPart 对象,其中包含 3 个正文部分:纯文本电子邮件、html 电子邮件和附件。
但是,如果我在 Google App Engine 环境中运行相同的代码来检索相同的电子邮件消息,我只会得到 2 个正文部分:纯文本电子邮件消息和 html 电子邮件消息。附件不见了。不过,附件内容在原始输入流中可用。
这是我用来检索和解析消息的部分代码:
Message[] messages = emailFolder.getMessages();
for(Message message : messages) {
MimeMessage msg = new MimeMessage(emailSession, message.getInputStream());
if(msg.getContent() instanceof Multipart) {
Multipart multipart = (Multipart) msg.getContent();
for(int i = 0; i < multipart.getCount(); i++) {
BodyPart bodyPart = multipart.getBodyPart(i);
System.out.println("ContentType: " + bodyPart.getContentType());
}
}
}
对这里发生的事情有什么想法吗? 在此先感谢:-)
【问题讨论】:
标签: java google-app-engine jakarta-mail email-attachments pop3