【发布时间】:2016-06-29 23:56:09
【问题描述】:
我正在尝试通过 Javamail 向公司帐户发送电子邮件。当我向 gmail 和我的个人电子邮件发送消息时,我的 Java 测试应用程序运行良好。我还可以通过我的电子邮件托管网络邮件客户端成功发送到公司帐户。
我已阅读此处的帖子,并尝试在 VM 中为测试应用设置 -Djava.net.preferIPv4Stack=true,但没有成功。
我在企业客户端检查了垃圾邮件,但邮件不存在。这并不是说它没有在公司网站的其他地方被阻止。
任何想法可能导致此问题?
我正在使用 org.apache.commons.mail.HmtlEmail,这是测试代码:
// Create the email message
HtmlEmail email = new HtmlEmail();
email.setHostName(smtpHost);
email.setAuthenticator(new DefaultAuthenticator(smtpUser, smtpPwd));
email.setSSLOnConnect(true);
email.addTo(to);
email.setFrom(from);
email.setSubject(subject);
// set the html message
email.setHtmlMsg(text);
// set the alternative message
email.setTextMsg("Your email client does not support HTML messages");
// send the email
email.send();
【问题讨论】:
-
有什么方法可以检查 smtp 的日志,看看那里有没有问题?
-
您确定邮件发送成功了吗?你有例外吗? JavaMail debug output 显示什么?
-
我已经要求托管公司检查日志和接收方的日志。其他地址正在接收电子邮件,因此我假设它们通过公司帐户被阻止,但在我收到回复之前无法确定。我想知道我在 HtmlEmail 的配置中是否遗漏了什么会导致这种情况发生。
-
让我感到困惑的是,我可以使用他们的网络邮件客户端或 Outlook 从同一系统和帐户发送电子邮件,并且在公司端正常接收它们
标签: email jakarta-mail html-email apache-commons