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 ...
随机推荐
- 手把手教你AspNetCore WebApi:缓存(MemoryCache和Redis)
前言 这几天小明又有烦恼了,系统上线一段时间后,系统性能出现了问题,马老板很生气,叫小明一定要解决这个问题.性能问题一般用什么来解决呢?小明第一时间想到了缓存. 什么是缓存 缓存是实际工作中非常常用的 ...
- 多测师讲解selenium—自动化测试课堂面试题总结—高级讲师肖sir
1.你有做过自动化?你用什么语言? python2.自动化中如何使用语言打开一个网址?浏览器,浏览器对应驱动,导入库,类,get,url3.在一个浏览器中打开多个窗口?open_windows dri ...
- pandas常用方法总结
In [49]: frame2 Out[49]: year state pop debt one 2000 Ohio 1.5 NaN two 2001 Ohio 1.7 NaN three 2002 ...
- Android ContentProvider 基本原理和使用详解
ContentProvider(内容提供者)是 Android 的四大组件之一,管理 Android 以结构化方式存放的数据,以相对安全的方式封装数据(表)并且提供简易的处理机制和统一的访问接口供其他 ...
- centos7安装redis6
wget http://download.redis.io/releases/redis-6.0.6.tar.gz?_ga=2.104030464.1049731693.1595900008-1330 ...
- linux(centos8):使用namespace做资源隔离
一,namespace是什么? namespace 是 Linux 内核用来隔离内核资源的方式. 它是对全局系统资源的封装隔离, 处于不同 namespace 的进程拥有独立的全局系统资源, 改变一个 ...
- Spring In Action 5th中的一些错误
引言 最近开始学习Spring,了解到<Spring实战>已经出到第五版了,遂打算跟着<Spring实战(第五版)>来入门Spring,没想到这书一点也不严谨,才看到第三章就发 ...
- xib使用
xib和storyboard都可以建立应用程序的视图.他们的主要区别在于,xib用于创建应用程序的局部视图,storyboard用于创建应用程序的整体视图. xib是storyboard的前身. xi ...
- 小白也能看懂的JVM内存区域
前言 最近在准备面试题刷到了JVM这块,作为一个小白,巩固知识点最好的方式就是亲手写出来并分享:相信我的理解,同样是小白的你,一定有很大的帮助.不信,请你往下看! JVM内存区域简介 如果有人问Jav ...
- Lombda表达式(五)
public class Test05 { /* * lambda表达式是用来简化匿名内部类的一种函数式编程的语法. * 只有SAM接口才能使用lambda表达式 * 方法引用和构造器引用是用来简化l ...