java mail 接收邮件,为什么 subject 为 null

I_am_a_java_CaiNiao I_am_a_java_CaiNiao 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
如题,使用 java mail,读取邮箱收件箱的邮件,能读出正确的邮件数目来,也能读到 content,但 getSubject() 却返回 null,事实是邮件确实是有 subject 的,中英文都不行。还有 getFrom() 也是 null,代码如下,请指教,谢谢!


public class MailReceiverTest {

public static void main(String[] args) throws Exception {

String pop3Server = "mail.xxxxxx.com";
String protocol = "pop3";
String user = "xxx@xxxxxx.com";
String pwd = "xxxxxx";

Properties props = new Properties();
props.setProperty("mail.store.protocol", protocol);
props.setProperty("mail.pop3.host", pop3Server);

Session session = Session.getInstance(props);
session.setDebug(true);

Store store = session.getStore();
store.connect(pop3Server, user, pwd);

Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);

try {
Message [] messages = folder.getMessages();

// 此处 mailCounts 数量为 2,与我收件箱中一致,正确
int mailCounts = messages.length;
for(int i = 0; i < mailCounts; i++) {

String subject = messages[i].getSubject(); // subject 为 null,为何 ?
String from = (messages[i].getFrom()[0]).toString();

System.out.println("第 " + (i+1) + "封邮件的主题:" + subject);
System.out.println("第 " + (i+1) + "封邮件的发件人地址:" + from);
}
} finally {
folder.close(false);
store.close();
}
}
}
...全文

相关推荐

评论 8
收藏 已收藏
分享
返回顶部
I_am_a_java_CaiNiao
Java EE 67,535 成员 225,843 内容