2012-08-03 59 views
0

我有些自动化的功能内置到每天发送的电子邮件,提醒约会等等,基本上我用的就是早上7点开始每天早上自动调度的客户我的web应用程序,检查数据库中的客户,需要通过电子邮件发送,并发送消息。这很好,但除了真正发送电子邮件外,我完全处于黑暗中。醒目无法投递或垃圾邮件文件夹电子邮件

  • 我可以采用某种验证的电子邮件地址实际上是一个真实的电子邮件 和电子邮件已经发送成功?
  • 什么检查该被传递到垃圾邮件文件夹某种 消息?
  • 跳水甚至进一步...我知道有电子邮件服务,在那里, 可以根据人究竟是谁 打开电子邮件中的量提供统计数据。我如何检查这种事情?

我的理解是(至少对于我的第一个问题),我需要检查发件人的电子邮件地址退回或无法投递的邮件,并与他们相应的处理,但我怎么使用Java做到这一点编程?我是否需要实施另一个自动日常流程,检查电子邮件帐户是否收到无法投递的电子邮件,处理错误,然后删除邮件?我认为,因为中继服务器等,未送达误差不会因为中继服务器等的立即可用

我明白这是一个稍微模糊和加载的问题所以我没有必要寻找一个完整的解决方案,但或多或少的一些建议,这将帮助我开始。我宁愿不使用外部服务。

+0

另请参阅[this](http://stackoverflow.com/questions/11754166/javamail-get-message-for-undelivered-emails-to-gmail-or-ymail/11764851#comment15660916_11764851)回答类似的问题。 – 2012-08-03 06:39:18

回答

0

电子邮件通常是火和忘记,所以没有标准跟踪他们的方式。有一些第三方发送电子邮件可能会减少得到发送到垃圾邮件文件夹的邮件的机会,但有时,邮件客户端似乎学习删除的电邮,甚至没有阅读并立即开始捣毁的电子邮件。

这就是说,你可以看看thisthis以前的SO线程。根据你邮件的内容,你可能会有一些可能性来获得某种回应。

至于能检查哪些邮件是有效还是无效,你可能会考虑使用某种类型的激活机制。您基本上向他们发送了一封邮件,并在其中包含一个链接,用户将不得不导航才能激活某种服务。如果用户激活链接,那么您知道他们有权访问给定的电子邮件帐户。

+0

我并不过分担心用户提供了一个活动的电子邮件,它更多的是防止因为用户停止使用而变得不再有效的电子邮件的预防措施,收件箱得到最大限度的满足等等。我喜欢能够知道何时发生这种情况所以我可以停止发送消息。如果无法跟踪,那么当您使用其服务发送消息时,常用联系人(或其他人)的服务如何提供有关所有这些信息的统计数据? – ryandlf 2012-08-03 06:37:58

+0

很多很多的启发式。 – 2012-08-03 06:41:09

+0

@ryandlf:当一个人建立了一个业务上的东西,你不能指望他们来告诉大家究竟如何,他们这样做。最有可能的是,除了有一个体面的启发式数据,因为它被列在其中一个SO帖子中,您可以在邮件中嵌入一个图像(可以是透明的),并且可以附加一些参数(例如电子邮件地址)当邮件客户端试图拉取图片时,你会知道哪个用户打开了什么邮件。 – npinti 2012-08-03 06:45:26