.NET下发送邮件遇到问题及解决方案
.NET后台代码利用QQ邮箱服务器发送邮件遇到的问题:"mail from address must be same as authorization user"
首先,看下代码实现
public class EmailHelper
{
/// <summary>
/// 发送邮件
/// </summary>
/// <param name="subject">主题</param>
/// <param name="body">内容</param>
public static void SendEmail(string subject,string body)
{
var mailFrom = ConfigurationManager.AppSettings["mailFrom"];
var mailTo = ConfigurationManager.AppSettings["mailTo"];
var mailCC = ConfigurationManager.AppSettings["mailCC"];
var smtp = ConfigurationManager.AppSettings["smtp"];
var smtpPort = Convert.ToInt32(ConfigurationManager.AppSettings["smtpPort"]);
var emailAccount = ConfigurationManager.AppSettings["emailAccount"];
var emailPassword = ConfigurationManager.AppSettings["emailPassword"]; //邮件内容信息
MailMessage mailMessage = new MailMessage
{
From = new MailAddress(mailFrom),
Subject = subject,
Body = body,
};
mailMessage.To.Add(mailTo);
mailMessage.CC.Add(mailCC);
//邮箱服务器配置
SmtpClient smtpClient = new SmtpClient(smtp, smtpPort)
{
Credentials = new NetworkCredential(emailAccount, emailPassword),
EnableSsl = true,
};
//发送邮件
smtpClient.Send(mailMessage);
}
}
配置文件:
<appSettings>
<!--发送人、收件人、抄件人-->
<add key="mailFrom" value="53xxx1314@qq.com"/>
<add key="mailTo" value="89xxxx734@qq.com"/>
<add key="mailCC" value="89xxx734@qq.com"/> <!--邮箱服务器主机地址和端口号-->
<add key="smtp" value="smtp.qq.com"/>
<add key="smtpPort" value="25"/> <!--发送人邮箱账号密码-->
<add key="emailAccount" value="53xxx1314"/>
<!--此密码非QQ密码,而是邮箱生成的密码-->
<add key="emailPassword" value="stxxxxxxxxtscbbb"/>
</appSettings>
代码已经搞定,剩下的就是跑起来了,第一次跑起来遇到问题就是开头所说的 "mail from address must be same as authorization user"
具体为什么会这样呢,我的账号密码没错啊,看了几篇博友的文章后确定是QQ邮箱密码出问题了。但是我用QQ密码登入邮箱是正常的,然后尝试开启POP/SMTP服务,发现了主要问题,QQ邮箱的POP/SMTP 服务没开启
操作步骤:进入QQ邮箱->设置->账户->滚动到“POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务”
如果是没有开启,那就开启它,我没有开启,点击后需要发送短信,配置邮件客户端,发送短信完毕后,获得了授权码,将授权码替换我在代码中写的qq密码,然后重新跑起来,错误消失,主要是未授权问题,注意,授权码会在QQ密码或独立密码修改后而失效 ,需要重新获得。
重新运行,没有问题
问题虽然不是很大,也没有太多技术含量,但是能节省我们再次遇到这种问题,却想不起怎么解决的,回顾起来,总比重新重视要节省时间。
2017-10-22,望技术有成后能回来看见自己的脚步。
.NET下发送邮件遇到问题及解决方案的更多相关文章
- VIM、GVIM在WINDOWS下中文乱码的终极解决方案
文章转自:http://www.liuhuadong.com/archives/68 vim.gvim在windows下中文乱码的终极解决方案在windows下vim的中文字体显示并不好,所以我们需要 ...
- Apache shiro集群实现 (六)分布式集群系统下的高可用session解决方案---Session共享
Apache shiro集群实现 (一) shiro入门介绍 Apache shiro集群实现 (二) shiro 的INI配置 Apache shiro集群实现 (三)shiro身份认证(Shiro ...
- Apache shiro集群实现 (五)分布式集群系统下的高可用session解决方案
Apache shiro集群实现 (一) shiro入门介绍 Apache shiro集群实现 (二) shiro 的INI配置 Apache shiro集群实现 (三)shiro身份认证(Shiro ...
- win10下安装vs2013无法安装解决方案
win10下安装vs2013无法安装解决方案 win+r,输入cmd进入命令行 进入界面后选择修复 进入vs_ultimate文件所在目录,输入: vs_ultimate /Uninstall ...
- Linux下发送邮件
Linux下发送邮件 1.配置 vim /etc/mail.rc 文件尾增加以下内容 set from=ymwugui@linuxidc.com smtp=smtp.sina.com.cn set s ...
- Cent OS下发送邮件
首先安装发送邮件的服务: yum install -y sendmail 安装完成之后在安装mutt yum install -y mutt 安装完成之后我们就可以发送邮件了 mutt tes ...
- vim、gvim 在 windows 下中文乱码的终极解决方案
vim.gvim 在 windows 下中文乱码的终极解决方案 vim ~/.vimrc 然后加入: " Gvim中文菜单乱码解决方案 " 设置文件编码格式 set encodin ...
- Android 在 4G 下访问 IPV6 慢的解决方案
Android 在 4G 下访问 IPV6 慢的解决方案 Android4G ipv6 起因 今天,用户反馈 Android 端加载数据较慢,经 Android 开发人员排查后,发现在公司 wifi ...
- 分布式集群系统下的高可用session解决方案
目前,为了使web能适应大规模的访问,需要实现应用的集群部署. 而实现集群部署首先要解决session的统一,即需要实现session的共享机制. 目前,在集群系统下实现session统一的有如下几种 ...
随机推荐
- 201521123009 《Java程序设计》第8周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 2. 书面作业 本次作业题集集合 Q1:List中指定元素的删除(题目4-1) 1.1 实验总结 Scanne ...
- 201521123122 《java程序设计》 第四周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 这个思维导图比较简单,详细内容点击此处 2. 书面作业 注释的应用 使用类的注释与方法的注释 ...
- MarkDown换行
现象:1,MarkDown编辑两行显示,但是实际显示为一行: 2,编辑状态中空一行,此时显示为也空了一行,界面显示不友好: 解决:在第一行中最后输入至少2个空格+回车即可显示正常:
- hadoop-2.6.0源码编译
运行hadoop环境时,常常会出现这种提示 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your plat ...
- 专用管理连接(DAC)和单用户模式
数据库运维人员,在维护数据库时,有时会遇到一些特殊的情况,例如,SQL Server实例无法访问,此时需要用到管理员在紧急情况下专用的连接:有时,在做一些系统级别的配置修改时,当前数据库不能被其他用户 ...
- iOS开发-AFNetworking参数和多文件同时上传【多文件上传】
1. 前言 在项目开发中,我们经常需要上传文件,例如:上传图片,上传各种文件,而有时也需要将参数和多个文件一起上传,不知道大家的项目中遇到了没有,我在最近的项目中,就需要这样的一个功能:同时上传参数. ...
- java 多态(动态绑定)
一.面向对象最核心的机制--动态绑定,也叫多态 1.1.通过下面的例子理解动态绑定,即多态 1 package javastudy.summary; 2 3 class Animal { 4 /** ...
- 五年 Web 开发者 star 的 github 整理说明
欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 作者:樊东东 前端从业几年,积累了不少github开源库. 有时候想查阅以前star的库,但不好找,github大多库都是英文说明,对中文 ...
- 简单说明CGI是什么
html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...
- Another Easy Problem fzu1753
Another Easy Problem Time Limit: 1000MS Memory Limit: 32768KB 64bit IO Format: %I64d & %I64u ...