Asp.net发送邮件的两种方法

(转载http://www.cnblogs.com/wengyuli/archive/2010/06/03/aspnet-smtp-send-mail.html#2057232)

这几天看了一下Asp.net发送邮件方面的东西,记得之前的IIS6上有SMTP服务器,可以直接利用这个进行邮件发送,现在的开发环境是Windows 7,找了半天没有找到,到网络上查了才知道原来windows 7和Vista都将SMTP服务器去掉了,现在将两种方法总结一下。

一,利用大网站的SMTP来发送邮件

这种方法适用于程序运行环境没有配置SMTP的服务器,想借助于其他smtp来发送邮件的情况,当然需要有此smtp的账户才行,例如如果使用Google的SMTP服务器,有三点需要注意:启用SSL,端口和地址smtp.gmail.com。

二,利用本地的smtp来发送邮件

这种方法要求本地有smtp服务器,如果没有,windows 7和vista上面没有smtp服务器可以安装一个软件,

Free SMTP Server,下载地址:http://www.softstack.com/freesmtp.html,这种方式不用提供用户名,只需要设置一下IIS即可。

image

做如下设置:

image

相关代码如下:

代码
 1 using System; 
 2 using System.Collections.Generic; 
 3 using System.Linq; 
 4 using System.Text; 
 5 using System.Net.Mail; 
 6 
 7 namespace IISSendMail 
 8 
 9     class Program 
10     { 
11         static void Main(string[] args) 
12         { 
13             /*第一种,利用Google的smtp来发送邮件*/ 
14             SmtpClient client = 
15                 new SmtpClient("smtp.gmail.com"25); 
16             MailMessage msg = 
17                 new MailMessage("wengyuli@gmail.com","leonweng@qq.com","这个是标题","这个是内容"); 
18             client.UseDefaultCredentials = false
19             System.Net.NetworkCredential basicAuthenticationInfo = 
20                 new System.Net.NetworkCredential("username""password"); 
21             client.Credentials = basicAuthenticationInfo; 
22             client.EnableSsl = true
23             client.Send(msg); 
24 
25             /*第二种,利用本地的smtp来发送邮件*/ 
26             SmtpClient smtp = 
27                 new SmtpClient("localhost"25); 
28             MailMessage message = 
29                 new MailMessage("wengyuli@gmail.com""leonweng@qq.com""标题:测试一下iis发邮件""内容:老翁,你好!哈哈"); 
30             smtp.Send(message); 
31 
32             Console.WriteLine("发送成功!"); 
33             Console.Read(); 
34         } 
35     } 
36 }
37 
原文地址:https://www.cnblogs.com/isMe/p/2003139.html