【发布时间】:2011-02-21 10:13:31
【问题描述】:
在网络应用程序中实现群发电子邮件功能的最佳方式是什么?两大案例:
根据不同的注册用户的活动向他们发送电子邮件(只是向用户发送关于他创建的主题中的新帖子的简短提醒)
“为所有注册用户发送电子邮件”功能,如果系统管理员能够为所有注册用户发送一些消息,那就太好了。当然,将所有电子邮件添加到收件人不是我们可以采用的方式,因为每个用户的电子邮件地址都是匿名的。
据我所知,案例 nr1 没有问题,只需通过 System.Net.Mail 创建一些电子邮件,方法是创建新邮件并发送它......但是案例 nr 2 呢???
我猜是这样的:
foreach(var emailAddress in emailAddresses) {
MailMessage mail = new MailMessage();
mail.From = new MailAddress("jondoe@bla.net");
mail.To.Add(emailAddress);
mail.Subject = "test";
mail.Body = "test";
SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
smtp.Send(mail);
}
不是好方法:)所以问题是实现这一目标的最佳方法是什么?
顺便说一句,我们无法为电子邮件发送部署一些服务,这应该集成到 Web 应用程序中。
【问题讨论】:
-
循环有什么问题?这对我来说似乎是最好的选择。您每人发送 1 封电子邮件,保护每个人的匿名性。