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

这几天看了一下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即可。

Asp.net发送邮件的两种方法_第1张图片

做如下设置:

Asp.net发送邮件的两种方法_第2张图片

相关代码如下:

 

代码
 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( " [email protected] " , " [email protected] " , " 这个是标题 " , " 这个是内容 " ); 
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( " [email protected] " " [email protected] " " 标题:测试一下iis发邮件 " " 内容:老翁,你好!哈哈 " ); 
30              smtp.Send(message); 
31 
32              Console.WriteLine( " 发送成功! " ); 
33              Console.Read(); 
34          } 
35      } 
36  }
37 
转自: http://www.cnblogs.com/wengyuli/archive/2010/06/03/aspnet-smtp-send-mail.html

你可能感兴趣的:(asp.net)