/// <summary>
/// 发送邮件(以QQ邮箱为例)
/// </summary>
/// <param name="MailAddress">QQ邮箱地址</param>
/// <param name="PassWord">开启SMTP生成的密码</param>
/// <param name="SMTP">SMTP服务器 如 腾讯:smtp.qq.com</param>
/// <param name="Port">端口 如腾讯:465</param>
/// <param name="Mail">MailMessage对象</param>
public void SendEmail(string MailAddress, string PassWord, string SMTP, int Port, MailMessage Mail)
{
SmtpClient smtpclient = new SmtpClient();
//发件邮箱和密码 ,注意这里要与发件人地址的邮箱一致
smtpclient.Credentials = new System.Net.NetworkCredential(MailAddress, PassWord);
smtpclient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpclient.Host = SMTP;//邮箱的站点,不同邮箱这个位置不同
smtpclient.Port = Port;
smtpclient.EnableSsl = false;
smtpclient.Send(Mail);
//释放资源
Mail.To.Clear();
Mail.Dispose();
smtpclient.Dispose();
}
调用
MailMessage myMail = new MailMessage();
myMail.From = new MailAddress(MailAddress, "epms");
myMail.Subject = string.Format("{0}分公司{1}内控预警指标增量明细", region.GetText(), DateTime.Now.ToString("yyyy年MM月dd日"));
myMail.Body = string.Format("截止{0},{1}分公司各项指标增量明细,详见附件。", DateTime.Now.ToString("yyyy年MM月dd日"), region.GetText());
myMail.IsBodyHtml = false;//设置内容是否为html格式,true:是,false:否
System.Net.Mail.Attachment mailAttach_1 = new Attachment(fileName);//附件
myMail.Attachments.Add(mailAttach_1);
if (!string.IsNullOrEmpty(bcc.DepartmentalLeader))
{
IList<int> DepartmentalLeaderId = bcc.DepartmentalLeader.SplitInt(",").ToList();
foreach (var id in DepartmentalLeaderId)
{
UserV2 user = _userQuerySrv.GetUserById(id);
if (user != null)
{
myMail.To.Add(new MailAddress(user.Email));//emial 客户端邮箱地址
}
}
}
if (!string.IsNullOrEmpty(bcc.Monitor))
{
IList<int> MonitorId = bcc.Monitor.SplitInt(",").ToList();
foreach (var id in MonitorId)
{
UserV2 user = _userQuerySrv.GetUserById(id);
if (user != null)
{
myMail.To.Add(new MailAddress(user.Email));//emial 客户端邮箱地址
}
}
}
SendEmail(MailAddress, PassWord, "172.16.121.102", 25, myMail);