.Net发送邮件方法
/// <summary>
/// 发送邮件
/// </summary>
/// <param name="subject"></param>
/// <param name="mailBody"></param>
/// <returns></returns>
public int SendMail(string subject, string mailBody, string mailTo)
{
SmtpClient client = new SmtpClient(ConfigurationManager.AppSettings["SMTPAddress"].ToString(),
int.Parse(ConfigurationManager.AppSettings["SMTPPort"].ToString()));
try
{
client.Credentials = new System.Net.NetworkCredential(ConfigurationManager.AppSettings["SMTPAccount"].ToString(),
ConfigurationManager.AppSettings["SMTPPassword"].ToString());
MailMessage message = new MailMessage();
message.From = new MailAddress(ConfigurationManager.AppSettings["SMTPAccount"].ToString(),
ConfigurationManager.AppSettings["SMTPDisplayName"].ToString(), System.Text.Encoding.UTF8);
//string[] mailTos = ConfigurationManager.AppSettings["Mailto"].ToString().Split(';');
foreach (string mailToTest in mailTo.Split(';'))
{
if (!string.IsNullOrEmpty(mailToTest))
message.To.Add(new MailAddress(mailToTest));
}
message.Body = mailBody;
message.BodyEncoding = System.Text.Encoding.UTF8;
message.Subject = subject;
message.SubjectEncoding = System.Text.Encoding.UTF8;
message.IsBodyHtml = true;
client.EnableSsl = true;
client.TargetName = ConfigurationManager.AppSettings["SMTPTLSAddress"].ToString();
client.Send(message);
return 1;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message + " " + ex.StackTrace);
return 0;
}
finally
{
client.Dispose();
}
}
config配置
<add key="SMTPAddress" value="smtp.office365.com"/>
<add key="SMTPPort" value="587"/>
<add key="SMTPTLSAddress" value="STARTTLS/smtp.office365.com"/>
<add key="SMTPFrom" value="公共邮箱地址"/>
<add key="SMTPAccount" value="邮箱账号" />
<add key="SMTPPassword" value="邮箱密码" />
<add key="SMTPDisplayName" value="NetCore_SysmAdmin"/>
<add key="Mailto" value=""/>
仅供学习参考,如有侵权联系我删除