我正在ASP.NET MVC 3 RC中编写用户注册过程,我想在此过程中向用户发送确认电子邮件。我知道我可以使用System.Net.Mail
命名空间中的类来做到这一点,但我对实现它的最佳方法有几个问题。
在我编写自己的代码以发送电子邮件的路径之前,是否有针对ASP.NET MVC的ActionMailer等现有解决方案?
如果我自己滚动,我应该在请求期间在Web服务器上执行此操作,并使用Send阻止Web服务器,在等待SMTP服务器响应时占用线程?如果是这样,SendAsync会更好吗?
最好是从ASP.NET MVC中完全取出它,也许是通过将记录写入数据库表并让Windows服务定期扫描表并发送消息?
目前,我倾向于#3,因为这样可以让我灵活地在另一台服务器上完成这项工作,但是想知道别人在做什么。是否有我未考虑过的选项和/或问题?
答案 0 :(得分:4)
我个人认为#3是你最好的选择。这是三者中最复杂的,但它们都不是非常复杂。但它的作用是:
对于使MailMessage
对象的创建/发送更容易的现有库,我从未见过需要。如果您只是将邮件发送到SMTP服务器,则内置对象绰绰有余且易于使用。
答案 1 :(得分:3)
MvcMailer就像.Net的ActionMailer。请参阅NuGet包here和project documentation
希望它有所帮助!