關於QQ郵箱“命令順序不正確。 服務器響應為:Error: need EHLO and AUTH first !”問題
阿新 • • 發佈:2018-05-14
email lse 收件人 opera str mage com cat odin
1、首先在QQ郵箱當中開啟“POP3/SMTP服務”
.2、獲取“授權碼
剛開始一直使用郵箱的密碼。後面才發現,原來QQ郵箱通過第三方發送郵件應該使用授權碼 o(≧口≦)o
附上騰訊的說明http://service.mail.qq.com/cgi-bin/help?subtype=1&&no=1001256&&id=28
3、編碼
使用SmtpClient來解決
EnableSsl設置為true
UseDefaultCredentials設置為false
Credentials = new System.Net.NetworkCredential("QQ郵箱", "授權碼");
附上代碼,做個備忘
- public static void Send(Email mail,string email)
- {
- SmtpClient client = new SmtpClient("smtp.qq.com");
- client.EnableSsl = true;
- client.UseDefaultCredentials = false;
- client.Credentials = new System.Net.NetworkCredential("QQ郵箱", "授權碼");
- MailAddress from = new MailAddress("QQ郵箱", "顯示名稱", Encoding.UTF8);//初始化發件人
- MailAddress to = new MailAddress(email, "", Encoding.UTF8);//初始化收件人
- //設置郵件內容
- MailMessage message = new MailMessage(from, to);
- message.Body = mail.Body;
- message.BodyEncoding = mail.BodyEncoding;
- message.Subject = mail.Subject;
- message.SubjectEncoding = mail.SubjectEncoding;
- message.IsBodyHtml = mail.IsBodyHtml;
- //發送郵件
- try
- {
- client.Send(message);
- }
- catch (InvalidOperationException iex)
- { }
- catch (Exception ex)
- { }
- }
註意:一定要先設置 EnableSsl和UseDefaultCredentials,再實例化Credentials
關於QQ郵箱“命令順序不正確。 服務器響應為:Error: need EHLO and AUTH first !”問題