.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下发送邮件遇到问题及解决方案的更多相关文章

  1. VIM、GVIM在WINDOWS下中文乱码的终极解决方案

    文章转自:http://www.liuhuadong.com/archives/68 vim.gvim在windows下中文乱码的终极解决方案在windows下vim的中文字体显示并不好,所以我们需要 ...

  2. Apache shiro集群实现 (六)分布式集群系统下的高可用session解决方案---Session共享

    Apache shiro集群实现 (一) shiro入门介绍 Apache shiro集群实现 (二) shiro 的INI配置 Apache shiro集群实现 (三)shiro身份认证(Shiro ...

  3. Apache shiro集群实现 (五)分布式集群系统下的高可用session解决方案

    Apache shiro集群实现 (一) shiro入门介绍 Apache shiro集群实现 (二) shiro 的INI配置 Apache shiro集群实现 (三)shiro身份认证(Shiro ...

  4. win10下安装vs2013无法安装解决方案

    win10下安装vs2013无法安装解决方案 win+r,输入cmd进入命令行 进入界面后选择修复 进入vs_ultimate文件所在目录,输入: vs_ultimate /Uninstall    ...

  5. Linux下发送邮件

    Linux下发送邮件 1.配置 vim /etc/mail.rc 文件尾增加以下内容 set from=ymwugui@linuxidc.com smtp=smtp.sina.com.cn set s ...

  6. Cent OS下发送邮件

    首先安装发送邮件的服务: yum install -y sendmail 安装完成之后在安装mutt yum install -y mutt 安装完成之后我们就可以发送邮件了 mutt     tes ...

  7. vim、gvim 在 windows 下中文乱码的终极解决方案

    vim.gvim 在 windows 下中文乱码的终极解决方案 vim ~/.vimrc 然后加入: " Gvim中文菜单乱码解决方案 " 设置文件编码格式 set encodin ...

  8. Android 在 4G 下访问 IPV6 慢的解决方案

    Android 在 4G 下访问 IPV6 慢的解决方案 Android4G ipv6 起因 今天,用户反馈 Android 端加载数据较慢,经 Android 开发人员排查后,发现在公司 wifi ...

  9. 分布式集群系统下的高可用session解决方案

    目前,为了使web能适应大规模的访问,需要实现应用的集群部署. 而实现集群部署首先要解决session的统一,即需要实现session的共享机制. 目前,在集群系统下实现session统一的有如下几种 ...

随机推荐

  1. 201521123059 《Java程序设计》第六周学习总结

    1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 注1:关键词与内容不求多,但概念之间的联系要清晰,内容覆盖 ...

  2. 201521123080《Java程序设计》第1周学习总结

    #1. 本周学习总结 Java开发环境,如何用记事本和eclipse进行编程. #2. 书面作业 Q1.为什么java程序可以跨平台运行?执行java程序的步骤是什么?(请用自己的语言书写)      ...

  3. 201521123064 《Java程序设计》第9周学习总结

    1. 本章学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次作业题集异常 Q1:常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前 ...

  4. 201521123008 《Java程序设计》第十四周学习总结

    1. 本周学习总结 2. 书面作业 1. MySQL数据库基本操作 建立数据库,将自己的姓名.学号作为一条记录插入.(截图,需出现自己的学号.姓名) 在自己建立的数据库上执行常见SQL语句(截图) - ...

  5. 视频转GIF图

    1.工具 PS6.0(其他版本也可以) 视频一个(具体格式应该无所谓) 2.步骤 (1)打开PS,点击导入->视频帧到图层 (2)选择视频打开 (3)进行范围选择.由于每隔2帧导入一张图片,每秒 ...

  6. linux下修改rm命令防止误删除

    前言:相信很多朋友都遇到过在linux下用rm命令误删除文件的时候,此刻的心中仿佛有无数的羊驼在奔腾.那么怎么防止这种情况发生呢?当然是有方法的,我们可以写一个shell脚本,改变一下rm命令的作用. ...

  7. Mysql中的in和find_in_set的区别?

    在mysql中in的使用情况如下: select * from article where 列名 in(值1,值2,值3.....): select * from article where 值1 i ...

  8. LINUX - awk命令之NF和$NF区别 (转)

    NF和$NF 区别问答:(转)1.awk中$NF是什么意思?#pwd/usr/local/etc~# echo $PWD | awk -F/ '{print $NF}'etcNF代表:浏览记录的域的个 ...

  9. shell脚本命令,一些你在书上找不到的命令。

    1.!$<!$是一个特殊的环境变量,它代表了上一个命令的最后一个字符串.如:你可能会这样: $mkdir mydir$mv mydir yourdir$cd yourdir 可以改成: $mkd ...

  10. IDEA配置Tomcat

    如何用IDEA写Servlet在我别的博文有! 注意:如果不能成功启动Tomcat,很有可能是JDK版本和Tomcat版本不匹配,此时你可以降低JDK版本试试