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

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

使用System.Net.Mail空间与Web.config配置相配合,可以很方便的实现邮件发送。

 

首先,在Web.config文件中节点中加入标签,示例如下:

<system.net>
    <mailSettings>
      <smtp from="测试者<[email protected]>">
        <network host="smtp.ym.163.com" password="MyTestPassword" port="25"
            userName="[email protected]" enableSsl="false" defaultCredentials="false" />
      smtp>
    mailSettings>
system.net>

 

接下来便是C#代码:(需要using System.Net.Mail;)

/// 
/// 发送HTML邮件,有抄送和密送
/// 需要在Web.config文件中的system.net下的mailSettings节点进行配置
/// 
/// 收件人地址
/// 抄送地址
/// 密送地址
/// 邮件主题
/// 邮件正文
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("[email protected]", "", "", "测试20140418-2", "

你好,这是第二封测试邮件

"
);

 

如果程序所使用的SMTP服务器不作特殊限制的话,你的收件箱就可以正常收到这封测试邮件了。

同时,由于我们在Web.config中设置的是“邮件测试者<[email protected]>”,所以收到的邮件的发件人将会是“邮件测试者”。

本文结束。

你可能感兴趣的:(在.net程序中使用System.Net.Mail来发送邮件)