Asp.net发送邮件的两种方法小结
2011-10-06 18:19
573 查看
这几天看了一下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; }
发邮件可以直接调用。
相关文章推荐
- Asp.net发送邮件的两种方法小结
- 【转】【Asp.Net】Asp.net发送邮件的两种方法小结
- Asp.net发送邮件的两种方法
- Asp.net发送邮件的两种方法
- Asp.net发送邮件的两种方法
- .NET进阶学习之使用ASP.NET两种发送邮件的方法
- Asp.net发送邮件的两种方法
- Asp.net发送邮件的两种方法
- asp.net发送邮件获取已读回执的方法(转,未验证)
- 在ASP.NET中使用SMTPMail发送邮件的方法
- 在Asp.Net中使用SmtpMail发送邮件的方法:实例
- 在Asp.Net中使用SmtpMail发送邮件的方法
- 详解Asp.Net定时发送邮件方法
- 邮件发送控件jmail使用方法之ASP.NET示例
- asp.net代码发送邮件方法(二)
- 在Asp.Net中使用SmtpMail发送邮件的方法
- 在Asp.Net中使用SmtpMail发送邮件的方法
- 在Asp.Net中使用SmtpMail发送邮件的方法
- [导入]ASP.net页面发送邮件小结