C#实现发送给QQ邮件
最近在做一个通过点击忘记密码往用户邮箱中发邮件(邮件内容是一个超链接)点击进行修改的功能,发送原理,我们只是把邮件发送给smtp服务器,然后再由smtp服务器发送到邮箱,发送之前要校验一下。
1、微软已经帮我们封装好了发送邮件的类 MailMessage,MailMessage类构造一些邮件信息,然后通过SmtpClient进行邮件发送。MailMessage常用的一些属性有:
1.1、From:发件人邮箱地址。
1.2、To:收件人的邮箱地址。
1.3、Subject:邮件标题。
1.4、Body:邮件内容。
2、还需要用到SmtpClient类进行发送邮件。SmtpClient类的意思是:允许应用程序使用简单邮件传输协议 (SMTP) 来发送电子邮件。SmtpClient类常用的一些属性和方法:
2.1、Host: 获取或设置用于 SMTP 事务的主机的名称或 IP 地址。
2.2、EnableSsl:是否使用安全套接字层加密连接。
2.3、UseDefaultCredentials:是否随请求一起发送。
2.4、Credentials:获取或设置用于验证发件人身份的凭证。
2.5、Send():发送。
3、上代码。
protected void Page_Load(object sender, EventArgs e)
{
//实例化一个发送邮件类。
MailMessage mailMessage = new MailMessage();
//发件人邮箱地址,方法重载不同,可以根据需求自行选择。
mailMessage.From = new MailAddress("123456@qq.com");
//收件人邮箱地址。
mailMessage.To.Add(new MailAddress("654321@qq.com"));
//邮件标题。
mailMessage.Subject = "发送邮件测试";
//邮件内容。
mailMessage.Body = "这是我给你发送的第一份邮件哦!"; //实例化一个SmtpClient类。
SmtpClient client = new SmtpClient();
//在这里我使用的是qq邮箱,所以是smtp.qq.com,如果你使用的是126邮箱,那么就是smtp.126.com。
client.Host = "smtp.qq.com";
//使用安全加密连接。
client.EnableSsl = true;
//不和请求一块发送。
client.UseDefaultCredentials = false ;
//验证发件人身份(发件人的邮箱,邮箱里的生成授权码);
client.Credentials = new NetworkCredential("123456@qq.com", "fnsedjxib");
//发送
client.Send(mailMessage);
Context.Response.Write("发送成功");
}
4、常见错误信息及解决办法。
在做此功能的过程中,遇到过好几个异常信息,到最后百度了一下,总算解决了,有些新人在做的过程中,或许不知道问题出在哪了,接下来我就说说我常见的错误及解决办法。
4.1、mail from address must be same as authorization user
一般出这种情况的原因有两种:
4.1.1、POP3/IMAP/SMTP未开启。
解决办法:进入qq邮箱- - - - -》设置- - - - -》账户- - - - -》然后找到POP3/IMAP/SMTP开启即可。

4.1.2、授权码错误。
解决办法:进入qq邮箱- - - - -》设置- - - - -》账户- - - - -》然后找到POP3/IMAP/SMTP开POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务下的生成授权码填上即可。
4.2、Error: need EHLO and AUTH first !
一般情况系出现这种错误原因是SmtpClient类的EnableSsl、UseDefaultCredentials属性放到了Credentials属性之下。
解决办法:将SmtpClient类的EnableSsl、UseDefaultCredentials属性放到了Credentials属性之上。
5、然后根据自己构建的链接就可以找回密码了。
转载自:https://www.cnblogs.com/xiezunxu/articles/7421322.html
C#实现发送给QQ邮件的更多相关文章
- python发QQ邮件
python发qq邮件相对比较简单,网上教程一大把:固定套路,后面封装看自己怎么方便可以怎样进行封装:原版代码如下: """ # -*- coding : utf-8 - ...
- 5分钟 wamp下php phpmaile发送qq邮件 2015最新方法说明
13:40 2015/11/20 5分钟 wamp下php phpmaile发送qq邮件 2015最新方法说明 关键点:现在qq邮箱开通smtp服务后会给你一个很长的独立新密码,发邮件配置中的密码需要 ...
- 【python】脚本连续发送QQ邮件
今天习得用python写一个连续发送QQ邮件的脚本,经过测试,成功给国内外的服务器发送邮件,包括QQ邮箱.163邮箱.google邮箱,香港科技大学的邮箱和爱丁堡大学的邮箱.一下逐步解答相关技巧. 首 ...
- Java发送QQ邮件
面试的时候被问到这个问题,别人问我用Java发过邮件没有,被问得一脸懵逼.然后就研究了一下,不是很难,按照网上的方法折腾了几天就搞出来了. 首先,使用QQ邮箱发送邮件之前需要在邮箱里面配置,开启pop ...
- python3:利用SMTP协议发送QQ邮件+附件
转载请表明出处:https://www.cnblogs.com/shapeL/p/9115887.html 1.发送QQ邮件,首先必须知道QQ邮箱的SMTP服务器 http://service.mai ...
- 电子邮件协议及GO发送QQ邮件
目录 一.电子邮件的工作机制 1.1 SMTP 1.2 POP3 1.3 IMAP 二.邮件地址 三.MIME信息 四.使用golang发送qq邮件 一.电子邮件的工作机制 提供电子邮件服务的协议叫做 ...
- Java网络编程:QQ邮件发送客户端程序设计
目录 一.目标介绍 1.认识SMTP(邮件传输协议) 2.POP3(邮件接收协议) 二.基于Base64编码邮箱及授权码 1.开通QQ邮箱SMTP/POP3服务 2.Java编写BASE64编码程序 ...
- Java实现QQ邮件发送客户端
目录 一.前言:QQ邮件发送程序 二.封装SMTP操作 三.实现多线程接收 四.QQ邮件客户端界面设计 1.连接按钮 2.发送按钮 五.QQ邮件发送效果演示 六.总结 一.前言:QQ邮件发送程序 在上 ...
- CI框架使用PHPmail插件发送QQ邮件:
有助请顶,不好请评.0:33 2016/3/12CI框架使用PHPmail插件发送QQ邮件:发送成功,不过修改了主机参数,还包含了一个phpmail中的一个另外的文件,详见下方:参见:http://c ...
随机推荐
- mysql 设置多个字段聚合自增
DROP TEMPORARY TABLE IF EXISTS ttp_firstInvest; CREATE TEMPORARY TABLE ttp_firstInvest ( userid varc ...
- LeetCode OJ 24. Swap Nodes in Pairs
Given a linked list, swap every two adjacent nodes and return its head. For example,Given 1->2-&g ...
- C++ 自定义控件的移植(将在其它程序中设计的自定义控件,移植到现在的系统中)
方法很简单就是将需要的代码 复制到 新系统中就可以了,方法就是 把相关文件添加到现有的系统中,并特别注意以下问题 \如果原设计中用到了菜单或是其它资源,相应的资源要在新的菜单中,手动添加. 目前没有发 ...
- Uni2D入门
转载 http://blog.csdn.net/kakashi8841/article/details/17558059 开始 Uni2D增加了一些新的便利的特性给Unity,它们用于推动你2D工作流 ...
- spring 手册
https://www.tutorialspoint.com/spring/spring_architecture.htm
- JS-事件对象(鼠标键盘事件)
一 事件对象 1 需要获取键盘和鼠标的信息的时候,用到事件对象.(e) 例如:document.onclick = function(e){ var e = e || event;(做兼容) } ...
- C++ STL--queue 的使用方法
2.queuequeue 模板类的定义在<queue>头文件中.与stack 模板类很相似,queue 模板类也需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是 ...
- SAP FI模块常用事务代码
F.52 G/L: Acct Bal.Interest Calculation 总帐:计算科目余额利息 F-06 Post Incoming Payments 收款记帐 F-07 ...
- nltk的使用
1. 命令行; import nltk nltk.download() #下载相关模型等,...
- sql语句查询菜单结果成 树状图类型 注意适用于id是四位数
select * from ( select pid,id,name,url,concat(id,":") idOrder from menu where pid=0 and st ...