您的位置:首页 > 大数据 > 人工智能

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

2014-04-18 13:55 711 查看
System.Net.Mail是微软自家提供的工具,在.net程序中可以使用该空间中的SmtpClient实例来实现邮件的发送。

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

 

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

[code]<system.net>


<mailSettings>


<smtp from="测试者<tester@testserver.com>">


<network host="smtp.ym.163.com" password="MyTestPassword" port="25"


userName="tester@testserver.com" enableSsl="false" defaultCredentials="false" />


</smtp>


</mailSettings>


</system.net>

[/code]

 

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

[code]/// <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);


}

[/code]

 

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

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

[/code]

 

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

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

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