ASP.NET MVC如何确定电子邮件是否未到达接收方

时间:2010-07-21 14:27:51

标签: asp.net-mvc email

在我的网络应用程序中,每个新注册的用户都会收到一封带有凭据信息的电子邮件。

出于某种原因,Hotmail和其他一些邮件提供商根本不接受这些电子邮件(顺便说一句,我通过hMailServer发送,也许你知道如何解决这个问题) - 他们既不是垃圾邮件也不是垃圾邮件收件箱文件夹。

因此,用户离开页面,检查邮件,什么也得不到。他们必须使用单独的页面来发送另一封电子邮件,这并不酷。

那么如何检查邮件是否成功发送?

更新

我意识到没有办法做到这一点......

3 个答案:

答案 0 :(得分:6)

关于最佳做法(例如设置SPF记录),杰夫阿特伍德有一篇很好的帖子,请参阅:http://www.codinghorror.com/blog/2010/04/so-youd-like-to-send-some-email-through-code.html

要检查发送的电子邮件,您只需在通过应用程序请求数据的电子邮件中放置图像,然后记录用户打开电子邮件的事实。如果请求“/images/something.jpg?id={identify-the-user-and-message-here}”通过您的应用程序路由,您只需注册用户已看过该电子邮件,然后返回图像,或者确实没什么。

答案 1 :(得分:4)

听起来你问是否有实时检查用户是否收到消息的方法。如果是这样,我会建议你不要追求那条道路。虽然大多数情况下电子邮件传递似乎是即时的,但在传送到收件人邮箱之前,它可能会被保留一段时间。

答案 2 :(得分:1)

除了已发布的方法之外,我还强烈推荐EmailVerify.NET组件,它可以在您首先尝试发送之前对给定的电子邮件地址执行相当多级别的测试。