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 ...
随机推荐
- 启动VNC Shell扩展
下载source files - 18.3 Kb Introduction 我们使用RealVNC来远程控制我们的网络中的pc机,VNC是一个伟大的产品,但如果不记住计算机名称,它可以是乏味的,在网络 ...
- 轻轻松松学CSS:Flex布局
Flex布局就是"弹性布局",它可以简便.完整.响应式地实现各种页面布局.引入弹性布局的目的,当页面需要适应不同的屏幕大小确保元素拥有恰当的布局方式,对一个容器中的子元素进行排列 ...
- C# 中 System.Index 结构体和 Hat 运算符(^)的全新用法
翻译自 John Demetriou 2019年2月17日 的文章 <C# 8 – Introducing Index Struct And A Brand New Usage For The ...
- S3C6410中断系统
S3C6410的中断主要改进是. 增加中断向量控制器,这样在S3C2440里需要用软件来跳转的中断处理机制,在S3C6410完全由硬件来跳转.你只要把ISR地址是存在连续向量寄存器空间,而不是象S3C ...
- hdfs的JAVA必会操作
hdfs的必会操作 创建目录 //创建目录 public static void mkdir(String filePath) throws URISyntaxException, IOExcepti ...
- 快速掌握ES6语法
常量变量 let and const 先说说常量和变量的概念吧, 常量是说那种进行一次赋值后不会更改的值,比如说游戏账户的 ID, 变量是说赋值后有更改的需求的,比如游戏名,游戏密码. 在之前的 Ja ...
- C语法-函数不定长参数
目录 前言 语法 va_list va_start va_arg va_end 前言 基于头文件 stdarg.h 基于 STM32 基于 C 如果读者对指针和堆栈的知识点比较熟悉,本笔记就一眼飘过, ...
- LUMEN框架多数据库连接配置方法
LUMEN作为一款API导向很浓的框架,配置极简化,默认只支持一路DB配置 然而随着业务复杂度的提高,引入多个数据库连接似乎无法避免,下面介绍一下LUMEN连接多个数据库的配置方法: 修改.env文件 ...
- Ubuntu安装zookeeper问题
在Ubuntu系统安装zookeeper后,启动报错: root@host8:/usr/solrcould/service1/zookeeper-3.5.0-alpha# sh bin/zkServe ...
- HashMap 中的哈希值计算问题
date: 2020-08-21 16:48:00 updated: 2020-08-21 16:52:00 HashMap 中的哈希值计算问题 1. hash 计算 JDK1.8 HashMap源码 ...