在.net程序中使用System.Net.Mail来发送邮件

System.Net.Mail是微软自家提供的工具,在.net程序中能够使用该空间中的SmtpClient实例来实现邮件的发送。html

使用System.Net.Mail空间与Web.config配置相配合,能够很方便的实现邮件发送。服务器

 

首先,在Web.config文件中<system.net>节点中加入<mailSettings>标签,示例以下:app

<system.net>
    <mailSettings>
      <smtp from="测试者&lt;tester@testserver.com&gt;">
        <network host="smtp.ym.163.com" password="MyTestPassword" port="25"
            userName="tester@testserver.com" enableSsl="false" defaultCredentials="false" />
      </smtp>
    </mailSettings>
</system.net>

 

接下来即是C#代码:(须要using System.Net.Mail;)工具

/// <summary>
/// 发送HTML邮件,有抄送和密送
/// 须要在Web.config文件中的system.net下的mailSettings节点进行配置
/// </summary>
/// <param name="mailto">收件人地址</param>
/// <param name="mailcc">抄送地址</param>
/// <param name="mailbcc">密送地址</param>
/// <param name="mailsubject">邮件主题</param>
/// <param name="mailbody">邮件正文</param>
public static void SendMail(string mailto, string mailcc, string mailbcc, string mailsubject, string mailbody)
{
    MailMessage mMessage = new MailMessage();
    MailAddress mTo = new MailAddress(mailto);
    if (mailcc != "") { MailAddress mCC = new MailAddress(mailcc); mMessage.CC.Add(mCC); }
    if (mailbcc != "") { MailAddress mBCC = new MailAddress(mailbcc); mMessage.Bcc.Add(mBCC); }
    mMessage.To.Add(mTo);
    mMessage.Subject = mailsubject;
    //正文和主题的字符编码都设置为UTF8
    mMessage.SubjectEncoding = System.Text.Encoding.UTF8;
    mMessage.BodyEncoding = System.Text.Encoding.UTF8;
    mMessage.Body = mailbody;
    //正文支持html
    mMessage.IsBodyHtml = true;
    SmtpClient client = new SmtpClient();
    client.Send(mMessage);
}

 

再接下来就能够在程序任意位置调用SendMail方法来实现发送邮件了:测试

SendMail("272023290@qq.com", "", "", "测试20140418-2", "<h1>你好,这是第二封测试邮件</h1>");

 

若是程序所使用的SMTP服务器不做特殊限制的话,你的收件箱就能够正常收到这封测试邮件了。编码

同时,因为咱们在Web.config中设置的是“邮件测试者&lt;tester@testserver.com&gt;”,因此收到的邮件的发件人将会是“邮件测试者”。spa

本文结束。.net

相关文章
相关标签/搜索