【发布时间】:2013-12-06 10:19:36
【问题描述】:
我正在使用这段代码从我的 Gmail 帐户中检索最新的电子邮件。
Properties props = new Properties();
props.setProperty("mail.store.protocol", "imaps");
try {
Session session = Session.getInstance(props, null);
Store store = session.getStore();
store.connect("imap.gmail.com", "<username@gmail.com>", "<password>");
Folder inbox = store.getFolder("INBOX");
inbox.open(Folder.READ_ONLY);
MimeMessage msg = (MimeMessage) inbox.getMessage(inbox.getMessageCount());
Address[] in = msg.getFrom();
for (Address address : in) {
resp.getWriter().println("FROM:" + address.toString());
}
Multipart mp = (Multipart) msg.getContent();
BodyPart bp = mp.getBodyPart(0);
resp.getWriter().println("SENT DATE:" + msg.getSentDate());
resp.getWriter().println("SUBJECT:" + msg.getSubject());
resp.getWriter().println("CONTENT:" + bp.getContent());
} catch (Exception mex) {
mex.printStackTrace();
}
它作为一个普通的 Java 应用程序运行良好。但是,当我在 Google App Engine 上运行的 Servlet 中将其用作函数时,它只能获取 FROM 地址,内容为 null。msg.getFrom() 工作正常,但 msg.getContent() 仅返回 null。
感谢大家的帮助。
【问题讨论】:
标签: java google-app-engine jakarta-mail