您的位置:首页 > 其它

.Net发送邮件方法

2020-07-16 11:58 88 查看

.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="WebCasting_SysmAdmin"/>
<add key="Mailto" value=""/>

仅供学习参考,如有侵权联系我删除

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: