意味着validation使用Java应用程序发送的邮件是否由SMTP邮件服务器传送到目的地

我正在尝试使用javatesting应用程序和邮件服务器来发送大量邮件(比如说1000),但是虽然应用程序确认已发送所有1000封邮件,但没有任何例外,但我没有收到确切的数字(1000)在收件人的信箱内(所有的邮件都发送到同一个电子邮件收件人用于testing应用程序的可靠性)相同。 每次执行应用程序时,这些都很less。 有没有什么办法使java应用程序能够validation使用邮件服务器发送的每个邮件是否已经到达目的地? 为什么他们首先失踪? 如果有人能够提供如何解决这个问题的提示/build议,那将会非常有帮助。

谢谢,美好的一天

不,你不能(我认为)。 您可以validation电子邮件是否正确传送到您的SMTP服务器,但该邮件也可能会通过其他几个SMTP服务器,其中一个可以标记您的邮件为垃圾邮件,而你不知道。

我认为确保互联网邮件得到传递的最好方法是确保您的邮件不被标记为垃圾邮件。 有几个简单的方法来做到这一点:

  • 实施DomainKeys或SPF(发件人策略框架)。 你需要你的系统pipe理员帮助。
  • 不要在电子邮件中放太多的HTML

不过,总有一个机会你的邮件没有得到低谷。 这是互联网电子邮件的本质。

你的应用程序只将邮件发送到你的SMTP服务器,然后进一步传播(如Jeroen刚才所说)。 所以你不能“看到”邮件是否已经实际上已经交付或被丢弃的垃圾邮件的方式。

对于发送通知,您可以查看RFC2298中的“Disposition-Notification-To”标头(请参阅2.1节) ,但是我想这实际上并不能帮助您确定在Java应用程序中成功传送,除非您访问确认邮箱从那里。