这几天看了一下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即可。
做如下设置:
相关代码如下:
代码
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
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
本文转自wengyuli 51CTO博客,原文链接:http://blog.51cto.com/wengyuli/587846,如需转载请自行联系原作者