asp.net 2.0 发邮件 就这么简单

目前大家看到的都是通过Code来进行邮件发送的,而在Asp.Net2.0中Framework考虑更多的是配置式,也就是通过config方式来进行应用程序的控制,而不是把绝大多数的参数都硬编码,查阅SDK后可以看到有个mailSettings的配置节,在SDK用红色文字显注的表示了“此属性在 .NET Framework 2.0 版中是新增的” ,这个配置节属于<system.net>节下的。

接下来我们把上面的代码用一些配置信息来取得,马上会得知你的Code是多么简洁。

config:

<system.net>

<mailSettings>

<smtp from="yandavid@163.com">

<network host="smtp.163.com" password="dw19840403" port="25" userName="yandavid" defaultCredentials="false"/>

</smtp>

</mailSettings>

</system.net>

代码文件:

using System.Net.Mail;

string subject = "test";

string body = "hello";

System.Net.Configuration.SmtpSection smtpSec = (System.Net.Configuration.SmtpSection)ConfigurationManager.GetSection("system.net/mailSettings/smtp");

using (System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(smtpSec.From, "yandavid@163.com", subject, body))

{

System.Net.Mail.SmtpClient mailClient = new System.Net.Mail.SmtpClient();

mailClient.Send(message);

}

就这么简单 邮件就发出去了.

/// <summary>

/// ASP。NET2.0 发送电子邮件

/// </summary>

/// <param name="strSmtpServer">Smtp地址</param>

/// <param name="port">端口号码</param>

/// <param name="strFrom">发件人</param>

/// <param name="strFromPass">密码</param>

/// <param name="strto">收见人</param>

/// <param name="strSubject">邮件主题</param>

/// <param name="strBody">邮件内容</param>

public static void SendSMTPEMail(string strSmtpServer,int port, string strFrom, string strFromPass, string strto, string strSubject, string strBody)

{

System.Net.Mail.SmtpClient client = new SmtpClient(strSmtpServer,port);

client.UseDefaultCredentials = false;

client.Credentials = new System.Net.NetworkCredential(strFrom, strFromPass);

client.DeliveryMethod = SmtpDeliveryMethod.Network;

System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(strFrom, strto, strSubject, strBody);

message.BodyEncoding = System.Text.Encoding.UTF8;

message.IsBodyHtml = true;

client.Send(message);

}