C# 邮件批量发送程序
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
using System;
using System.ComponentModel;
using System.Net;
using System.Net.Mail;
namespace MailSendExample
{
//异步发送,获取发送状态
static bool mailSent = false;
public static void SendCompletedCallback(object sender, AsyncCompletedEventArgs e)
{
if (e.Cancelled)
{
mailSent = false;
}
if (e.Error != null)
{
mailSent = false;
}
else
{
mailSent = true;
}
}
public static bool SendMail(string fromEmail, string fromName, string reEmail, string toEmail, string mailTitle, string mailBody)
{
//格式化Email,收件人支持半角逗号分隔的多个Email
toEmail = toEmail.Replace(";", ",");
toEmail = toEmail.Replace(";", ",");
toEmail = toEmail.Replace(",", ",");
MailMessage mail = new MailMessage();
try
{
//发件人,发件人名
mail.From = new MailAddress( fromEmail, fromName);
//回复人,回复人名
mail.ReplyTo = new MailAddress(reEmail, fromName);
//收件人
mail.To.Add(toEmail);
//邮件优先级
mail.Priority = MailPriority.Normal;
//设置html邮件
mail.IsBodyHtml = true;
//标题
mail.Subject = mailTitle;
//内容
mail.Body = mailBody;
}
catch (Exception ex)
{
//错误日志记录
Logger.WriteLine("SendMail_ErrorMail:" + ex.Message + "|" + toEmail);
return false;
}
try
{
//邮件服务器
string SMTPServer = "mail.aaaa.com";
//发送帐号
string SMTPAuthUsername = "bbb@aaaa.com";
//发送账户的密码
string SMTPAuthPassword = "123456";
//定义传输协议
SmtpClient smtp = new SmtpClient(SMTPServer);
//设置认证发件人
smtp.Credentials = new NetworkCredential(SMTPAuthUsername, SMTPAuthPassword);
//异步发送完成获取发送状态
smtp.SendCompleted += new SendCompletedEventHandler(SendCompletedCallback);
//调试
//Logger.WriteLine("SendMail:" + mail.To + "|" + mail.From );
//异步发送
smtp.SendAsync(mail, String.Empty);
return mailSent;
}
catch (Exception ex)
{
Logger.WriteLine("SendMail_Send:" + ex.Message + "|" + SMTPServer);
return false;
}
}
}
}