C#中设置邮件提醒
1.基础成员
MailMessage mailMsg;
SmtpClient client;
private readonly string MailSendTo = ConfigurationManager.AppSettings["UpMailSendTo"];
private readonly string MailCopyTo = ConfigurationManager.AppSettings["UpMailCopyTo"];
private readonly string MailFrom = ConfigurationManager.AppSettings["UpMailFrom"];
private readonly string MailPwd = ConfigurationManager.AppSettings["UpMailPwd"];
private readonly string MailHostAddress = ConfigurationManager.AppSettings["UpMailHostAddress"];
2.构造函数
public EmailAlarmSend()
{
client = new SmtpClient(MailHostAddress.Trim());
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.Credentials = new System.Net.NetworkCredential(MailFrom.Trim(), MailPwd.Trim());
client.EnableSsl = true;
}
3.添加发送邮件的方法,设置邮件的一些属性
public string SendMail(string filePath, string fileName, string topic)
{
mailMsg = new MailMessage();
mailMsg.IsBodyHtml = false;
string msg = "";
string body = "";
try
{
string[] MailSendToGroup = MailSendTo.Trim().Split(';');
foreach (string sendto in MailSendToGroup)
{
if (!String.IsNullOrEmpty(sendto))
{
mailMsg.To.Add(sendto);
}
}
string[] MailCopyToGroup = MailCopyTo.Trim().Split(';');
foreach (string copyto in MailCopyToGroup)
{
if (!String.IsNullOrEmpty(copyto))
{
mailMsg.CC.Add(copyto);
}
}
mailMsg.From = new MailAddress(MailFrom.Trim(), MailFrom.Trim(), Encoding.UTF8);
mailMsg.Subject = topic;
body += filePath + fileName + "\r\n";
mailMsg.Body = body;
mailMsg.Priority = MailPriority.High;
ServicePointManager.ServerCertificateValidationCallback = delegate (Object obj, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors) { return true; };
client.Send(mailMsg);
msg += DateTime.Now + ":" + "邮件发送成功\r\n";
}
catch (Exception ex)
{
msg += DateTime.Now + ":" + ex.Message + "\r\n";
}
return msg;
}
}
其中,string[] MailSendToGroup = MailSendTo.Trim().Split(’;’)可以设置收件人是多个邮箱账号,mailMsg.Priority = MailPriority.High用于设置邮件的重要性。
4.实际应用
EmailAlarmSend emailAlarm = new EmailAlarmSend();
msgTB.Text += emailAlarm.SendMail("文件存储路径:"+local+"//", file.ToString(), "文件获取成功") + "\r\n";