usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Net.Mail;
usingSystem.Web;
namespaceMailSend
{
publicclassSendEmail
{
///<summary>
///群发邮件函数
///</summary>
///<paramname="subject">发送的主题</param>
///<paramname="body">发送的内容</param>
///<paramname="email_list">收件人列表,通过|来分割开来,可以自己定义</param>
///<paramname="File_Path">发送附件的地址,获取了路径后上传</param>
publicstaticvoidSend(stringsubject,stringbody,stringemail_list,stringFile_Path)
{
stringMailUser="XXX@qq.com";//我测试的是qq邮箱,其他邮箱一样的道理
stringMailPwd="你的密码";//邮箱密码
stringMailName="测试";
stringMailHost="smtp.exmail.qq.com";//根据自己选择的邮箱来查询smtp的地址
MailAddressfrom=newMailAddress(MailUser,MailName);//邮件的发件人
MailMessagemail=newMailMessage();
//设置邮件的标题
mail.Subject=subject;
//设置邮件的发件人
//Pass:如果不想显示自己的邮箱地址,这里可以填符合mail格式的任意名称,真正发mail的用户不在这里设定,这个仅仅只做显示用
mail.From=from;
//设置邮件的收件人
stringaddress="";
//传入多个邮箱,用“|”分割开,可以自己自定义,再通过mail.To.Add()添加到列表
string[]email=email_list.Split('|');
foreach(stringnameinemail)
{
if(name!=string.Empty)
{
address=name;
mail.To.Add(newMailAddress(address));
}
}
//设置邮件的抄送收件人
//这个就简单多了,如果不想快点下岗重要文件还是CC一份给领导比较好
//mail.CC.Add(newMailAddress("Manage@hotmail.com","尊敬的领导");
//设置邮件的内容
mail.Body=body;
//设置邮件的格式
mail.BodyEncoding=System.Text.Encoding.UTF8;
mail.IsBodyHtml=true;
//设置邮件的发送级别
mail.Priority=MailPriority.Normal;
//设置邮件的附件,将在客户端选择的附件先上传到服务器保存一个,然后加入到mail中
if(File_Path!="")
{
mail.Attachments.Add(newAttachment(File_Path));
mail.DeliveryNotificationOptions=DeliveryNotificationOptions.OnSuccess;
}
SmtpClientclient=newSmtpClient();
//设置用于SMTP事务的主机的名称,填IP地址也可以了
client.Host=MailHost;
//设置用于SMTP事务的端口,默认的是25
client.Port=25;
client.UseDefaultCredentials=false;
//这里才是真正的邮箱登陆名和密码,我的用户名为MailUser,我的密码是MailPwd
client.Credentials=newSystem.Net.NetworkCredential(MailUser,MailPwd);
client.DeliveryMethod=SmtpDeliveryMethod.Network;
////如果发送失败,SMTP服务器将发送失败邮件告诉我
mail.DeliveryNotificationOptions=DeliveryNotificationOptions.OnFailure;
//都定义完了,正式发送了,很是简单吧!
client.Send(mail);
}
}
}
|