您的位置:首页 > 编程语言 > ASP

【转】【Asp.Net】Asp.net发送邮件的两种方法小结

2014-04-23 08:41 543 查看
  这几天看了一下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或者http://pan.baidu.com/s/1jGG8ZgM,这种方式不用提供用户名,只需要设置一下IIS即可。



做如下设置:



相关代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Mail;

namespace IISSendMail
{
  class Program
  {
    static void Main(string[] args)
    {
      /*第一种,利用Google的smtp来发送邮件*/
      SmtpClient client =
      new SmtpClient("smtp.gmail.com", 25);
      MailMessage msg =
      new MailMessage("wengyuli@gmail.com","leonweng@qq.com","这个是标题","这个是内容");
      client.UseDefaultCredentials = false;
      System.Net.NetworkCredential basicAuthenticationInfo =
      new System.Net.NetworkCredential("username", "password");
      client.Credentials = basicAuthenticationInfo;
      client.EnableSsl = true;
      client.Send(msg);

      /*第二种,利用本地的smtp来发送邮件*/
      SmtpClient smtp =
      new SmtpClient("localhost", 25);
      MailMessage message =
      new MailMessage("wengyuli@gmail.com", "leonweng@qq.com", "标题:测试一下iis发邮件", "内容:老翁,你好!哈哈");
      smtp.Send(message);

      Console.WriteLine("发送成功!");
      Console.Read();
    }
  }
}


原文地址:/article/1274960.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: