ASP.NET向多个用户发送邮件
本文关键字:用户 NET ASP | 更新日期: 2023-09-27 18:13:18
你好,我有一个问题,从asp.net网站发送邮件。这是我的代码
private void mailgonder(string mail, string adsoyad)
{
MailMessage mm = new MailMessage();
mm.From = new MailAddress("my mail address", "my name");
mm.Subject = "YENİ DUYURU";
mm.Body = "Sistemde okumadığınız yeni bir duyuru bulunmaktadır.";
mm.To.Add(new MailAddress(mail, adsoyad));
SmtpClient sc = new SmtpClient("my smtp client");
sc.Port = 587;
sc.Credentials = new NetworkCredential("my username", "my password");
sc.Send(mm);
}
我想在同一时间向1500个用户发送邮件。我怎么能做到这一点在asp.net(我们将有超过1000个成员在这个web项目)
我可以像这样寄给一个人。但是我不知道怎样才能把这个发给多人
谢谢
由于MailMessage.To
是一个集合,您可以随意添加:
mm.To.Add(new MailAddress("user@user.com", "user1"));
mm.To.Add(new MailAddress("user1@user.com", "user2"));
mm.To.Add(new MailAddress("user2@user.com", "user3"));
mm.To.Add(new MailAddress("user3@user.com", "user4"));
…
之前 mm.To.Add(new MailAddress("user1499@user.com", "user1499"));
mm.To.Add(new MailAddress("user1500@user.com", "user1500"));
注意:根据您的邮件服务器或访问提供程序,可能存在限制。为了提高效率,可以使用邮件列表。
你必须给每个用户单独发送电子邮件。不要,永远不要在to中添加超过1个地址,除非你有发送者得分认证,否则你会被邮件提供商禁止,因为他们会认为你是垃圾邮件发送者。而且垃圾邮件列表是全球性的,这意味着如果你被禁止使用gmail,你也会在短时间内被禁止使用hotmail或雅虎。
每次从数据库中选择20个电子邮件地址,循环这20个地址,并为每个地址调用mailgonder方法。
除了我上面写的,如果你写了多个TO,你的每个用户都会看到对方的电子邮件地址,从用户的角度来看,这并不酷。
我认为到目前为止最简单的方法是建立一个联系小组。这样做将使编写的代码量保持在最低限度。这里有一个链接,说明如何在Outlook中创建联系人组
设置好联系人组后,只需这样做:
String Devemail = "devgroup@whatever.com";
MailMessage message = new MailMessage();
message.To.Add(Devemail);
//The rest of your code here
代码的其余部分将正常工作。如果有人有更好/更简单的方法,请随时纠正我。
编辑:我有点震惊,我们建议他硬编码1500个电子邮件地址到他的代码。谁能给我一个好理由,为什么不使用电子邮件组?