今天试了一下ASP.NET发送电子邮件。我用的是C#编写,代码很简短也很容易理解。
在贴上代码前,先作几点必要的说明。这也是我自己找资料摸索过程中绕的一些“弯子”。
- SmtpClient类和MailMessage类需要引用System.Net.Mail命名空间。而这两个类曾经属于System.Web.Mail命名空间。
- Win7撤掉了smtp服务,就是说在Win7上开发的时候没办法使用IIS设置的SMTP服务信息。(所以我这段代码目前只通过将邮件服务器验证信息直接写入代码测试成功。)
- 有些邮箱如Hotmail/Gmail不直接提供smtp(即“简单邮件传输协议”)服务。使用这些邮箱作为发件邮箱的时候可能需要比较复杂的操作。我推荐用163或者新浪的邮箱做测试。
SmtpClient smtp = new SmtpClient("smtp.163.com",25);
smtp.UseDefaultCredentials = true;//若服务器设置了smtp服务信息,则启用默认设置
smtp.Credentials = new NetworkCredential("username", "password");
MailMessage msg = new MailMessage(
"from@163.com",//源邮件地址
"to@sina.com",//目的邮件地址
"Test Email",//发送邮件的标题
"Hello world!"//发送邮件的内容
);
try
{
smtp.Send(msg);
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}