.Net发送邮件方法

.Net发送邮件方法

/// 
/// 发送邮件
/// 
/// 
/// 
/// 
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=""/>

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

你可能感兴趣的:(.net,framework)