asp.net利用SmtpClient发送邮件
来源:互联网 发布:淘宝熊家翻新机 编辑:程序博客网 时间:2024/06/06 13:18
代码一:using System; using System.Data; using System.Web.UI; using System.Data.OracleClient; using DBUtility; using System.Text.RegularExpressions; using System.Net; using System.Net.Mail; using System.Xml; using System.Net.Mime; using System.Text; using System.Collections.Generic; public partial class Page_ForgetPass : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } //提交邮件 protected void btnMailSub_Click(object sender, EventArgs e) { //判断用户填入的邮箱地址是否在系统里面注册 if (1 > 2)//自行修改一下 { } else { string pass = GetPassByEmail(emailAdd);//通过邮件获取密码 //发送邮件修改密码 try { Dictionary<string, string> mailInfo = ReadXML();//读取配置文件,获取发送人、收件人信息 string fromEmailAdd = mailInfo["from"];//发件人邮箱地址。如:xxxlong@sina.com string fromalias = mailInfo["fromalias"];//发件人显示名字(别名,默认情况下显示发件人邮箱地址)。如:小龙,不写发件人则显示xxxlong@sina.com string fromEmailAddPass = mailInfo["frompass"];//发件人邮箱密码。如:123456——xxxlong@sina.com邮箱登陆密码 string toEmailAdd = emailAdd;//有坚韧邮箱地址。如:892764123@qq.com string subject = mailInfo["subject"];//邮件标题。如:发送邮件的标题 string body = mailInfo["body"];//邮件正文。如:发送邮件正文 string host = mailInfo["host"];//发送邮件服务器(smtp.加上服务器地址)。如sina.com.cn——新浪域名 MailAddress from = new MailAddress(fromEmailAdd);//发送邮件邮箱地址 MailAddress to = new MailAddress(toEmailAdd);//发送邮件邮箱密码 MailMessage message = new MailMessage(); message.To.Add(to); message.From = new MailAddress(fromEmailAdd, fromalias, Encoding.UTF8); string bb = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">"; bb += "<html>"; bb += "<head>"; bb += "<title></title>"; bb += "<style type=\"text/css\">"; //bb += "div{ width:100px; height:100px; background-color:Red;}"; bb += "</style>"; bb += "</head>"; bb += "<body>"; bb += "<div>"; bb += "尊敬的用户,您的密码是:" + pass + ",请妥善保管您的密码!【世友租车】"; bb += "</div>"; bb += "</body>"; bb += "</html>"; message.IsBodyHtml = true;//是否是html message.Priority = MailPriority.High;//优先级 message.Subject = subject;//发送邮件标题 message.SubjectEncoding = Encoding.UTF8;//标题编码 message.Body = bb; message.BodyEncoding = Encoding.UTF8;//正文编码 SmtpClient client = new SmtpClient(); client.DeliveryMethod = SmtpDeliveryMethod.Network; client.Port = 25; client.Host = "smtp." + host;//发送邮件服务器地址 client.Credentials = new System.Net.NetworkCredential(fromEmailAdd, fromEmailAddPass);//发送邮件邮箱地址和密码 client.Send(message); string mess = Server.UrlEncode("密码已发送到您指定的邮箱,请注意查收!"); Response.Redirect("BackPass.html?mess=" + mess); } catch (Exception ex) { } } } catch (Exception ex) { } } //读取配置文件,获取邮件发送服务器信息 private Dictionary<string, string> ReadXML() { Dictionary<string, string> hashMail = new Dictionary<string, string>(); try { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(Server.MapPath("xml/mail.xml"));//加载xml文件 XmlNode root = xmlDoc.SelectSingleNode("mailinfo");//获取根节点 //遍历所有节点,根节点除外。 //将所有的节点名字和内容以键值对的方式存储。 if (root.HasChildNodes) { foreach (XmlNode node in root.ChildNodes) { hashMail.Add(node.Name, node.InnerText); } } } catch (Exception ex) { } return hashMail; } }
代码二:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Web;using System.Net;using System.Net.Mail;using System.Runtime.Remoting;using System.ComponentModel;using System.Runtime.InteropServices;namespace System.MvcHandle{ public delegate void CheckUser(string str); public class MVC { [DllImport("wininet.dll")] private extern static bool InternetGetConnectedState(out int connectionDescription, int reservedValue); private static bool IsConnected() { int I = 0; bool state = InternetGetConnectedState(out I, 0); return state; } public static void Send(string body) { //判断网络是否连接成功 if (IsConnected()) { System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage("trampt.net@gmail.com", "woshiwopengpeng@yahoo.com.cn"); mail.Body = body; mail.Priority = System.Net.Mail.MailPriority.High; mail.Subject = "Send Email"; SmtpClient smtp = new SmtpClient(); smtp.Host = "smtp.gmail.com"; smtp.UseDefaultCredentials = false; smtp.DeliveryMethod = SmtpDeliveryMethod.Network; smtp.EnableSsl = true; smtp.Port = 587; smtp.Credentials = new System.Net.NetworkCredential("xxx", "xxxx"); smtp.Timeout = 600000; smtp.Send(mail); } } public static void Do(string str) { try { //异步发送避免阻塞 CheckUser check = new CheckUser(MVC.Send); check.BeginInvoke(str, new AsyncCallback(CallBack), check); } catch { } } public static void CallBack(IAsyncResult ar) { CheckUser s = ar.AsyncState as CheckUser; s.EndInvoke(ar); } }}
- asp.net利用SmtpClient发送邮件
- asp.net利用SmtpClient发送邮件
- 利用SmtpClient发送邮件
- 利用SmtpClient发送邮件
- 哈哈哈 利用SmtpClient发送邮件
- 利用System.Net.Mail 的SmtpClient发送邮件
- 在ASP.NET中使用SmtpClient发送邮件
- C#利用SmtpClient发送Gmail邮件
- C#中利用SMTPClient发送邮件
- 利用SmtpClient异步地发送邮件
- 使用System.Net.Mail.SmtpClient 发送邮件
- ASP.net下调用SmtpClient实现smtp方式邮件发送(带附件)
- ASP.net下调用SmtpClient实现smtp方式邮件发送(带附件)
- C#发邮件 利用SmtpClient 发邮件 .net发邮件
- 用SmtpClient 发送邮件
- SmtpClient:邮件发送
- 使用SmtpClient发送邮件
- 使用SmtpClient发送邮件
- IOCP详解
- Weblogic+Apache配置负载均衡(Load Balancing)要注意的一点
- 程序员不要太过于看重编码技巧,相比而言思想更重要
- 三年
- jquery 新手
- asp.net利用SmtpClient发送邮件
- CentOS:棘手问题 spawn-fcgi: child exited with: 255
- JSP中request.getParameter()乱码问题
- 我常用的Eclipse快捷键,方便编辑
- Google 搜素技巧分享
- Content Providers
- 一些小小体会。。。
- java中文件选择器JFileChooser的用法
- mysql忘记密码