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即可。
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("XX@gmail.com","XX@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(); 
} 
} 
} 

下面完善之前方法,测试成功:
 /// <summary>
        /// 发送邮件
        /// </summary>
        /// <param name="SenderEmail">发件人邮件地址</param>
        /// <param name="SenderName">发件人显示名称</param>
        /// <param name="strFrom">发件人用户名</param>
        /// <param name="strFromPass">用户密码</param>
        /// <param name="receiveUser">设置收件人信箱</param>
        /// <param name="ReceiveName">接收人显示名称</param>
        /// <param name="mailSubject">邮件标题</param>
        /// <param name="mailBody">邮件内容</param>
        /// <returns></returns>
        private static bool SendMail( string SenderEmail, string SenderName, string strFrom, string strFromPass, string ReceiveUser, string ReceiveName, string mailSubject, string mailBody)
        {
            MailAddress from = new MailAddress(SenderEmail, SenderName); //设置发件人信箱,及显示名字
            MailAddress to = new MailAddress(ReceiveUser, ReceiveName);  //设置收件人信箱,及显示名字
            oMail = new MailMessage(from, to);   //创建一个MailMessage对象
            oMail.Subject = mailSubject;      //邮件标题       
            oMail.Body = mailBody;       //邮件内容
            oMail.IsBodyHtml = true;            //指定邮件格式,支持HTML格式        
            oMail.BodyEncoding = System.Text.Encoding.GetEncoding("GB2312");//邮件采用的编码        
            oMail.Priority = MailPriority.High;//设置邮件的优先级为高
            //发送邮件服务器
           
            SmtpClient client = new SmtpClient();
            client.Host = "smtp." + oMail.From.Host;    //指定邮件服务器
            client.UseDefaultCredentials = false;
            client.Credentials = new NetworkCredential(strFrom, strFromPass);//指定服务器邮件,及密码
            client.EnableSsl = false;
            
            try
            {
                client.Send(oMail);  //发送邮件
            }
            catch (Exception eall)
            {
                string str = eall.Message;
                return false;
            }
            finally
            {
                oMail.Dispose();       //释放资源
            }
            return true;
        }

发邮件可以直接调用。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值