.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统一的有如下几种 ...
随机推荐
- 201521123070 《JAVA程序设计》第14周学习总结
1. 本章学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. 2. 书面作业 Q1. MySQL数据库基本操作 建立数据库,将自己的姓名.学号作为一条记录插入.(截图,需出现 ...
- 201521123110 《Java程序设计》第1周学习总结
第一周学习总结 本周开始了对java的初次学习接触,Java是一门新的编程语言不同于C,由于有了c的基础,对于Java的理解和学习也相对从前学C更容易些. 也学习了Java的诞生发展以及运用包括JVN ...
- 《Head First Java》读书笔记(3) - 异常和IO
1.异常处理 我们在调用某个方法时,会被编译器告知需要捕捉异常和处理,意味着你调用的这个方法是有风险的,可能会在运行期间出状况,你必须写出在发生状况时加以处理的代码,未雨绸缪!这就是Java中异常处理 ...
- Spring-java-模板设计模式
1,模板设计模式指的是将相应的模板方法提取出来在专门的位置定义,然后把相同调用过程操作,通过模板来实现对于模板设计模式而言,一般有两种实现方式 1)基于继承的实现 2)基于组合的实现 Spring的J ...
- 二叉树终极教程--BinarySearchTree
BinarySearchTreeMap 的 实现 public interface Map<K extends Comparable<K>, V> { void put(K k ...
- 内核对象 windows操作系统
问题: 什么是内核对象? 答:内核对象实际上时由内核分配的一块内存,而且只能由内核来访问.它时一个数据结构,成员包含有关于该对象的信息.一些成员对于所有对象类型都是一样的,比如对象名称.安全描述.使用 ...
- IO模型分析
html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...
- STM8学习 无法仿真原因Starting debug session... -> Emulator reset (usb://usb)... ** Connection error (usb://usb): swim error [30200]: st-link connection error
刚调试程序时,STlink总是连不上,一直提示: Starting debug session...-> Emulator reset (usb://usb)...** Connection e ...
- Java公开课-01.类和对象
一,类和对象的含义 1.类:类是具有相同属性(静态特征)和行为(功能 )的一系列事物的集合. eg:以下俩者是不是类 1)汽车 √ 2)小胖桌子上那个红色的杯子 × 2.对象:被精确限定到一个特殊 ...
- Python实战之字符串的详细简单练习
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__' ...