C#调用smtp邮件发送几个大坑

Posted xtjatswc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#调用smtp邮件发送几个大坑相关的知识,希望对你有一定的参考价值。

 

 

1、网易、新浪邮箱新增了一个叫“授权码”的东西,开通smtp服务时,必须开启授权码,并且邮件发送代码中也需要加上授权码,如下代码:

//指定邮箱账号和密码,需要注意的是,这个密码是你在邮箱设置里开启服务的时候给你的那个授权码
SmtpClient smtpclient = new SmtpClient(); …… NetworkCredential networkCredential = new NetworkCredential(sendEmail, sendpwd); smtpclient.Credentials = networkCredential;

  


2、邮件在本地可以发送成功,但发布到服务器上死活不成功,报操作超时错误,后来发现是腾讯云管理中需要做25端口解封

3、25端口解封之后,发现发邮件发送还是报错,报错信息及解决方法如下:

Transaction failed. The server response was: DT:SPM 163 smtp13,EcCowAA3iPqhtvhdbKQ7ZQ--.22531S2 1576580770,please see http://mail.163.com/help/help_spam_16.htm?ip=148.70.133.22&hostid=smtp13&time=1576580770

出错原因
554是邮件被网易默认为垃圾邮件,肯定是你发的邮件中有广告性信息,如:诚邀、免费注册之类的敏感词。当敏感词的比重达到一定数值时,就会被识别为垃圾邮件拒发。
解决方法
在收件人列表里面加上自己的邮箱

以上是关于C#调用smtp邮件发送几个大坑的主要内容,如果未能解决你的问题,请参考以下文章

C# 中的零星 SMTP 电子邮件发送失败

使用gmail smtp c#发送电子邮件[重复]

C#发送邮件源码

SMTP - SSL 证书问题 - C# - 为啥此代码有效?

使用 localhost SMTP 发送邮件

发送 smtp gmail 电子邮件“发送邮件失败”