Asp.net 发送大量电子邮件(超过100封邮件)
我正在使用smtp.corp从ASP.NET站点发送电子邮件。 当选择50封邮件时,此处所有邮件都已发送(状态显示为已发送),但只有少数成员收到邮件(只有10名成员)。如何在asp.net中发送批量电子邮件 如果我选择了15封邮件,则有10封邮件正在发送,但其余邮件未发送。对于剩余的电子邮件,我从SMTP服务器收到此错误: 服务不可用,正在关闭传输通道。服务器 回答是:太多并发SMAsp.net 发送大量电子邮件(超过100封邮件),asp.net,email,smtpclient,Asp.net,Email,Smtpclient,我正在使用smtp.corp从ASP.NET站点发送电子邮件。 当选择50封邮件时,此处所有邮件都已发送(状态显示为已发送),但只有少数成员收到邮件(只有10名成员)。如何在asp.net中发送批量电子邮件 如果我选择了15封邮件,则有10封邮件正在发送,但其余邮件未发送。对于剩余的电子邮件,我从SMTP服务器收到此错误: 服务不可用,正在关闭传输通道。服务器 回答是:太多并发SM 听起来好像服务器已经告诉你了你的问题——并发连接太多了 很难从您自己的服务器有效地群发电子邮件,因为许多服务器都有
听起来好像服务器已经告诉你了你的问题——并发连接太多了 很难从您自己的服务器有效地群发电子邮件,因为许多服务器都有保护措施防止人们发送大量电子邮件(有充分的理由)。。。可以通过编程方式,也可以通过自己的收件箱 你可能需要
诚然,100封电子邮件并不多,所以1封可能是一个选择。但是考虑到你的代码注释引用了Gmail,那么你将来会遇到更多的问题,因为它们来自他们的服务器 你确定它们不在你的用户的垃圾邮件框中吗?如果我选择15封邮件,则有10封邮件正在发送。其余的都没有发送。对于剩余的电子邮件,我从SMTP服务器收到此错误。(服务不可用,正在关闭传输通道。服务器响应为:并发SM太多)。这是某种类型的循环吗?将地址放入BCC字段如何?@Koen我的想法也是。。。如果是相同的消息。
System.Net.Mail.MailMessage MyMailMessage = new System.Net.Mail.MailMessage();
try
{
if (From == "") From = GetConfigVal("emailfrom");
//System.Net.Mail.MailMessage MyMailMessage = new
System.Net.Mail.MailMessage(From, To, Subject, MailBody);
if (FromName.Trim() != "")
{
MyMailMessage.From = new System.Net.Mail.MailAddress(From, FromName);
}
else
{
MyMailMessage.From = new System.Net.Mail.MailAddress(From);
}
MyMailMessage.To.Add(To);
MyMailMessage.Subject = Subject;
MyMailMessage.Body = MailBody;
if (ReplyEmailID.Trim() != "")
{
MyMailMessage.ReplyToList.Add(new
System.Net.Mail.MailAddress(ReplyEmailID));
}
if (CC.Trim() != "")
{
MailAddress copy = new MailAddress(CC);
MyMailMessage.CC.Add(copy);
}
MyMailMessage.IsBodyHtml = isHTML;
//Proper Authentication Details need to be
// passed when sending from gmail
System.Net.NetworkCredential mailAuthentication = new
System.Net.NetworkCredential(GetConfigVal("smtpuser"),
GetConfigVal("smtppassword"));
//For different server like yahoo this details changes and you can
//get it from respective server.
System.Net.Mail.SmtpClient mailClient = new System.Net.Mail.SmtpClient(GetConfigVal("smtp"), int.Parse(GetConfigVal("smtpport")));
//Enable SSL
//mailClient.EnableSsl = true;
//mailClient.Port = 25;
mailClient.EnableSsl = false;
//mailClient.UseDefaultCredentials = true;
mailClient.Credentials = mailAuthentication;
mailClient.Send(MyMailMessage);
}