您好我从asp.net网站发送sendig邮件有问题。这是我的代码
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中完成此任务(我们将在此Web项目中拥有超过1000名成员)
我可以这样发送给一个人。但我不知道如何将其发送给多人
由于
答案 0 :(得分:2)
由于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"));
注意: 根据您的邮件服务器或访问提供商,可能存在限制。为了提高效率,请使用mailing list。
答案 1 :(得分:0)
我相信到目前为止最简单的方法是建立一个联络小组。这样做可以将写入的代码量保持在最低限度。以下是解释如何在Outlook How to make a contact group
中执行此操作的链接设置好联系人群组后,只需执行以下操作:
String Devemail = "devgroup@whatever.com";
MailMessage message = new MailMessage();
message.To.Add(Devemail);
//The rest of your code here
其余代码将正常运行。 如果某人有更好/更简单的方法,请随时纠正我。
编辑:我很震惊,我们建议他在他的代码中硬编码1500个电子邮件地址。有人能给我一个很好的理由使用这种方法而不是使用电子邮件组吗?答案 2 :(得分:0)
您必须向每个用户发送单独的电子邮件。除非你有发件人得分认证,否则不要,永远不要向TO添加超过1个地址,相反的做法会导致你被禁止邮件提供商,因为他们认为你是垃圾邮件发送者。垃圾邮件列表也是全球性的,这意味着如果你被gmail禁止,你也会在短时间内被禁止使用hotmail或yahoo。
每次只从数据库中选择20个电子邮件地址,然后循环播放20个电子邮件地址,并为每个电子邮件地址调用。
除了我上面写的内容之外,如果你写了多个TO,那么你的每个用户都会看到每个用户通过电子邮件发送地址,这从用户的角度来看并不酷。