如何使用asp.net c#发送批量电子邮件(一次发送500-1000封电子邮件) [英] How To send bulk email (like 500-1000 emails at a time) using asp.net c#

查看:229
本文介绍了如何使用asp.net c#发送批量电子邮件(一次发送500-1000封电子邮件)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我开发了一个发送70-80封电子邮件的程序,但是当我输入更多电子邮件ID(例如500+)时,程序显示超时错误。

可以任何人解决此问题。

我们必须使用TO,Cc,BCc,Subject和HTML格式的Message。所有这些都是由用户手动输入的,而不是从数据库输入的。我使用SMTP服务器发送电子邮件,我自己的SMTP服务器。

解决方案

查看本教程:使用C#在ASP.Net中发送批量(大量)电子邮件和VB.Net [ ^ ]

它使用并行多线程发送电子邮件。

示例代码:

< pre lang =cs> Parallel.ForEach(dtCustomers.AsEnumerable(),row = >
{
SendEmail(row [ Email]。ToString(),subject, string .Format(正文,行[ 名称]));
}) ;



方法:

 private bool SendEmail(字符串收件人,字符串主题,字符串正文)
{
bool isSuccess = false;
try {
MailMessage mm = new MailMessage(sender@gmail.com,收件人);
mm.Subject = subject;
mm.Body = body;
mm.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Host =smtp.gmail.com;
smtp.EnableSsl = true;
NetworkCredential NetworkCred = new NetworkCredential();
NetworkCred.UserName =sender@gmail.com;
NetworkCred.Password =< password>;
smtp.UseDefaultCredentials = true;
smtp.Credentials = NetworkCred;
smtp.Port = 587;
smtp.Send(mm);
isSuccess = true;
} catch(exception ex)
{
//记录异常

}
return isSuccess;
}


I have developed a program that sends 70-80 emails but when i enter more email ids (like 500+) then program show time out error.
can any one please solve this problem.
we have to use TO,Cc,BCc,Subject and then Message in HTML Format. All these are entered manually by the user, not from the database.I send emails using SMTP server, I've my own SMTP server.

解决方案

check this tutorial: Send Bulk (Mass) Email in ASP.Net using C# and VB.Net[^]
it sends emails using parallel multi threading.
sample code:

Parallel.ForEach(dtCustomers.AsEnumerable(), row =>
    {
        SendEmail(row["Email"].ToString(), subject, string.Format(body, row["Name"]));
    });


method:

private bool SendEmail(string recipient, string subject, string body)
{
   bool isSuccess =false;
   try{
    MailMessage mm = new MailMessage("sender@gmail.com", recipient);
    mm.Subject = subject;
    mm.Body = body;
    mm.IsBodyHtml = true;
    SmtpClient smtp = new SmtpClient();
    smtp.Host = "smtp.gmail.com";
    smtp.EnableSsl = true;
    NetworkCredential NetworkCred = new NetworkCredential();
    NetworkCred.UserName = "sender@gmail.com";
    NetworkCred.Password = "<password>";
    smtp.UseDefaultCredentials = true;
    smtp.Credentials = NetworkCred;
    smtp.Port = 587;
    smtp.Send(mm);
    isSuccess =true;
    }catch(Exception ex)
    {
       // log the exception 
       
    }
    return isSuccess ; 
}


这篇关于如何使用asp.net c#发送批量电子邮件(一次发送500-1000封电子邮件)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆