asp.net利用SmtpClient发送邮件
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;
}
}
asp.net利用SmtpClient发送邮件的更多相关文章
- 利用SmtpClient发送邮件
1 163邮箱 HOST:smtp.163.com public static string CreateTimeoutTestMessage(string server) { string Suc ...
- 利用System.Net.Mail 的SmtpClient发送邮件
原文:利用System.Net.Mail 的SmtpClient发送邮件 几个月前总结过关于Jmail发送邮件,当时用Jmail发送邮件发送速度有点慢(可能对Jmail了解不是很多).现在改为用微软提 ...
- SmtpClient 发送邮件
利用SmtpClient 代码发送邮件. 简单测试代码: static void Main(string[] args) { MailMessage msg = new MailMessage(); ...
- java利用commons-email发送邮件并进行封装
本例中利用commons-email发送邮件并进行封装,支持html内容和附件:Commons Email是Apache的Commons子项目下的一个邮件客户端组件,它是基于JavaMail的,大大简 ...
- [ASP.NET]利用itextsharp将GridView汇出PDF档
原文 [ASP.NET]利用itextsharp将GridView汇出PDF档 最近在讨论区看到有人说itextsharp可以把网页变成PDF 小弟就去抓一下itextsharp来玩玩,先教大家最实用 ...
- linux利用sendmail发送邮件的方法
Linux利用sendmail发送邮件, 方法1 安装sendmail即可使用, mail -s "test" user@sohu.com bin/mail会默认使用本地sendm ...
- asp.net利用存储过程分页代码
-最通用的分页存储过程 -- 获取指定页的数据 CREATE PROCEDURE Pagination ), -- 表名 ) = '*', -- 需要返回的列 )='', -- 排序的字段名 , -- ...
- 利用JavaMail发送邮件:smtp.163.com
一.利用JavaMail发送邮件案例: 1.maven项目结构: 2.先在pom.xml里边加入Javamail依赖,系统会根据坐标自动下载mail包(前提是配置好了maven): 3.配置email ...
- SmtpClient发送邮件时附件名称乱码
在用户环境发现一个现象,使用System.Net.Mail.SmtpClient发送邮件,当附件名包含中文且长度较长时,最终的邮件里附件名会乱掉,写个简单的测试程序: var mail = new M ...
随机推荐
- 推荐Java字节码解析工具classpy
Classpy Classpy is a GUI tool for investigating Java class file, Lua binary chunk, Wasm binary code, ...
- 【开源】Springboot API 一键生成器
Springboot API 一键生成器 写这个项目,最大的想法就是:不做CRUD 程序猿 Springboot 在我们平时开发项目当中,是如此的常用.然而,比如平时我们写的一些: XX 管理系统 X ...
- shell-变量的数值运算与特殊应用expr
1. expr(evaluate expressions)命令的用法: expr命令一般用于整数值,当也可用于字符串,用来求表达式变量的值,同时expr也是一个手工命令行计算器. 语法:expr ex ...
- rxjs入门4之rxjs模式设计
观察者模式 (Observer Pattern) 观察者模式其实在日常编码中经常遇到,比如DOM的事件监听,代码如下 function clickHandler(event) { console.lo ...
- 关于ptype_all和pypte_base中的pt_prev的说明[转]
不知道原帖,我是从这里看到了,解决了迷惑我很久的疑问,抄过来. 看见noble_shi兄弟"关于net_rx_action函数的若干问题"贴中关于pt_prev的问题, 本来想在论 ...
- HTTP 【一文看清所有概念】
HTTP 标头 HTTP 1.1 的标头主要分为四种,通用标头.实体标头.请求标头.响应标头,现在我们来对这几种标头进行介绍 通用标头 HTTP 通用标头之所以这样命名,是因为与其他三个类别不同,它们 ...
- Java工程师应该掌握的知识,按重要程度排出六个阶段如下
第一阶段:计算机组成原理.数据结构和算法.网络通信原理.操作系统原理: 第二阶段:Java基础.JVM内存模型和GC算法.JVM性能调优.JDK工具.设计模式: 第三阶段:Spring系列.Myb ...
- java基础知识总结(续写)
1.两个容易搞混的C盘文件夹 文件名 描述 Progrm Files 默认存储的64位软件 Progrm Files(x86) 默认存储32位软件 2.常用基础DOS命令(Windows+R打开命令) ...
- php闭包作为函数参数
<?php function test(Closure $call) { $a = 63; $b = 22; echo "hello"; echo $call($a,$b); ...
- swoft配置连接池
bean.php 'db' => [ 'class' => Database::class, 'dsn' => 'mysql:dbname=test;host=127.0.0.1', ...