SmtpClient邮件发送失败汇总

目录

错1:命令顺序不正确。 服务器响应为:Error: need EHLO and AUTH first !

错2:参数或变量中有语法错误。 服务器响应为:mail from address must be same as authorization user

错3:根据验证过程,远程证书无效

错4:身份验证失败,因为远程方已关闭传输流

Authentication failed because the remote party has closed the transport stream


错1:命令顺序不正确。 服务器响应为:Error: need EHLO and AUTH first !

SmtpClient client = new SmtpClient
{
     UseDefaultCredentials = true,
     //Credentials = new NetworkCredential(userName, password),//SMTP认证用户
     Credentials = CredentialCache.DefaultNetworkCredentials,
     Host = str3,//SMTP服务主机
     //TargetName = "smtp.office365.com",
     Port = num,// SMTP服务端口
     EnableSsl = true
};

(1) Credentials = CredentialCache.DefaultNetworkCredentials

错2:参数或变量中有语法错误。 服务器响应为:mail from address must be same as authorization user

(1) POP/SMTP服务未开启

(2) 密码错误

POP3/SMTP服务设置为开启后,在代码段里的邮箱密码参数需要填写授权码(授权码在你开启的时候根据提示会生成,记得保存好),注意一点,不是填写邮箱的密码明文

配置企业微信授权码

错3:根据验证过程,远程证书无效

方案:

ServicePointManager.ServerCertificateValidationCallback =
delegate (Object pbj1, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors) { return true; };

错4:身份验证失败,因为远程方已关闭传输流

Authentication failed because the remote party has closed the transport stream

方案:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11;