gpt4 book ai didi

Javamail 奇怪的行为

转载 作者:行者123 更新时间:2023-12-01 13:34:04 27 4
gpt4 key购买 nike

Javamail 在 JUnit 测试和 GlassFish 3.1.2 中工作正常,但在 Tomcat 7.0.41 中不起作用:所有“From” header 均为 NULL!我究竟做错了什么?当我使用代码运行 JUnit 测试时:

        @Test
public void emailTest() {

try {

Properties properties = new Properties();
properties.put("mail.pop3.host", EMAILUtil.POP3_HOST);
properties.put("mail.pop3.disabletop", true);

Store emailStore = Session.getDefaultInstance(properties).getStore(EMAILUtil.STORE_TYPE);
emailStore.connect(EMAILUtil.USER, EMAILUtil.PASSWORD);

Folder emailFolder = emailStore.getFolder(EMAILUtil.DEFAULT_FOLDER);
emailFolder.open(Folder.READ_WRITE);
Message[] messages = emailFolder.getMessages();

System.out.println("Message count: " + messages.length);

int errorCount = 0;

for (int i = 0, n = messages.length; i < n; i++) {
System.out.println("Message: " + messages[i].toString());
System.out.println("From: " + messages[i].getFrom());
}

emailFolder.close(true);
emailStore.close();

} catch (MessagingException ex) {
System.out.println("Readings mails Exception: " + ex.getMessage());
ex.printStackTrace(System.err);
}

}

我得到了正确的结果(与 GlassFish3 结果相同):

 Message count: 406
Message: com.sun.mail.pop3.POP3Message@167a
From: [Ljavax.mail.internet.InternetAddress;@f9ead4
Message: com.sun.mail.pop3.POP3Message@72f580
From: [Ljavax.mail.internet.InternetAddress;@153b61e

当我在 Tomcat7 上运行此代码时,我得到以下结果(所有“From” header 均为空):

 Message count: 406
Message: com.sun.mail.pop3.POP3Message@95acf2
From: null
Message: com.sun.mail.pop3.POP3Message@a38f9f
From: null

谁能帮忙解决这个问题吗?JUnit版本:4.5Javamail 版本:1.4.4(我也尝试使用 1.5.5,结果相同)

最佳答案

添加properties.put("mail.debug", "true");并比较两种情况下的调试输出。

此外,尝试将 Session.getDefaultInstance 更改为 Session.getInstance。

关于Javamail 奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21397775/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com