【问题标题】:Email received sent via webmail but not Javamail收到的电子邮件通过 webmail 但不是 Javamail 发送
【发布时间】: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


【解决方案1】:

所以@Bill 关于 Javamail 调试输出的问题让我想到了电子邮件的内容。调试日志显示一切正常,但我发现我在电子邮件标题中包含了 Bootstrap 和 Fontawsome JS / CSS 链接,这可能导致公司系统出于安全原因拒绝了该消息。感谢您的帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-14
    • 2015-03-03
    • 2012-04-27
    • 2012-04-19
    • 2020-10-02
    • 1970-01-01
    • 2017-12-18
    • 2022-08-14
    相关资源
    最近更新 更多