/// <summary>
/// 群发邮件
/// </summary>
/// <param name="rec">接收邮箱,多个邮箱以逗号隔开</param>
/// <param name="tit">邮件主题</param>
/// <param name="con">邮件内容</param>
/// <param name="attachList">邮件附件,list支持多个附件传输</param>
/// <returns></returns>
public string SendEmail(string rec, string tit, string con, List<AttachModel> attachList)
{
try
{
string emailInfo = System.Configuration.ConfigurationManager.AppSettings["emailSender"].ToString();
if (string.IsNullOrEmpty(emailInfo))
{
return "邮箱未配置发送人,邮件不发送!";
}
if (string.IsNullOrEmpty(rec))
{
return "请填写接收邮箱!";
}
if (string.IsNullOrEmpty(tit))
{
return "请填写发送主题!";
}
if (string.IsNullOrEmpty(con))
{
return "请填写发送内容!";
}
MailMessage mm = new MailMessage();
MailAddress Fromma = new MailAddress(emailInfo.Split(',')[0]);
mm.From = Fromma;
var receive = rec.Split(',');
//收件人
foreach (var item in receive)
{
mm.To.Add(item);
}
//邮箱标题
mm.Subject = tit;
mm.IsBodyHtml = true;
if (attachList != null && attachList.Count > 0)
{
foreach (var item in attachList)
{
byte[] arrFile = new byte[item.FileStream.Length];//定义这个byte[]数组的长度 为文件的length
item.FileStream.Read(arrFile, 0, arrFile.Length);
System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(new MemoryStream(arrFile), item.FileName);
mm.Attachments.Add(attachment);
}
}
//邮件内容
mm.Body = con;
//内容的编码格式
mm.BodyEncoding = System.Text.Encoding.UTF8;
mm.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess;
//mm.CC.Add(Toma);
SmtpClient smtpClient = new SmtpClient();
smtpClient.EnableSsl = Convert.ToBoolean(System.Configuration.ConfigurationManager.AppSettings["EmailSsl"].ToString());
smtpClient.UseDefaultCredentials = false;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式
smtpClient.Host = System.Configuration.ConfigurationManager.AppSettings["EmailServer"].ToString();
smtpClient.Credentials = new System.Net.NetworkCredential(emailInfo.Split(',')[0], emailInfo.Split(',')[1]);//用户名和授权码
smtpClient.Send(mm);
return "发送邮件成功!";
}
catch (Exception ex)
{
return "发送邮件失败!" + ex.Message;
}
/// 群发邮件
/// </summary>
/// <param name="rec">接收邮箱,多个邮箱以逗号隔开</param>
/// <param name="tit">邮件主题</param>
/// <param name="con">邮件内容</param>
/// <param name="attachList">邮件附件,list支持多个附件传输</param>
/// <returns></returns>
public string SendEmail(string rec, string tit, string con, List<AttachModel> attachList)
{
try
{
string emailInfo = System.Configuration.ConfigurationManager.AppSettings["emailSender"].ToString();
if (string.IsNullOrEmpty(emailInfo))
{
return "邮箱未配置发送人,邮件不发送!";
}
if (string.IsNullOrEmpty(rec))
{
return "请填写接收邮箱!";
}
if (string.IsNullOrEmpty(tit))
{
return "请填写发送主题!";
}
if (string.IsNullOrEmpty(con))
{
return "请填写发送内容!";
}
MailMessage mm = new MailMessage();
MailAddress Fromma = new MailAddress(emailInfo.Split(',')[0]);
mm.From = Fromma;
var receive = rec.Split(',');
//收件人
foreach (var item in receive)
{
mm.To.Add(item);
}
//邮箱标题
mm.Subject = tit;
mm.IsBodyHtml = true;
if (attachList != null && attachList.Count > 0)
{
foreach (var item in attachList)
{
byte[] arrFile = new byte[item.FileStream.Length];//定义这个byte[]数组的长度 为文件的length
item.FileStream.Read(arrFile, 0, arrFile.Length);
System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(new MemoryStream(arrFile), item.FileName);
mm.Attachments.Add(attachment);
}
}
//邮件内容
mm.Body = con;
//内容的编码格式
mm.BodyEncoding = System.Text.Encoding.UTF8;
mm.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess;
//mm.CC.Add(Toma);
SmtpClient smtpClient = new SmtpClient();
smtpClient.EnableSsl = Convert.ToBoolean(System.Configuration.ConfigurationManager.AppSettings["EmailSsl"].ToString());
smtpClient.UseDefaultCredentials = false;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式
smtpClient.Host = System.Configuration.ConfigurationManager.AppSettings["EmailServer"].ToString();
smtpClient.Credentials = new System.Net.NetworkCredential(emailInfo.Split(',')[0], emailInfo.Split(',')[1]);//用户名和授权码
smtpClient.Send(mm);
return "发送邮件成功!";
}
catch (Exception ex)
{
return "发送邮件失败!" + ex.Message;
}
}
<!--添加留言邮箱收件人,多个人以逗号隔开 -->
<add key="emailReceiver" value="11111111@qq.com,2222222@qq.com,3333333@qq.com" />
<!--添加留言邮箱发件人,多个人以逗号隔开-->
<add key="emailSender" value="1111@qq.com,11111" /> <!--此处需要开启POP3/SMTP服务(QQ邮箱设置最下面可以看到),QQ密码需要发短信给腾讯获取-->
<!--邮箱服务器配置 公司邮箱: mail.sina.cn QQ邮箱: smtp.qq.com -->
<add key="EmailServer" value="smtp.qq.com" />
<!--邮箱否使用SSL 公司邮箱: false QQ邮箱: true -->
<add key="EmailSsl" value="true" />
public class AttachModel
{
public string FileName { get; set; } // 文件名
public Stream FileStream { get; set; } // 文件流
}