通過QQ郵箱的SMTP服務器發送QQ郵件至163郵箱提示“發送郵件失敗”的解決方案(三種可能性,不妨一試)


IDE:Visual Studio 2010[C#] + .NET 4.0框架
引用.NET 4.0框架的System.Net.Mail命名空間開發發送郵件的程序。發送方:QQ郵箱 接收方:163郵箱

基於上述開發平台,以下列舉了三種通過QQ郵箱的SMTP服務器發送QQ郵件至163郵箱提示“發送郵件失敗”可能的解決方案。

1.QQ郵箱的SMTP服務是否正常。可取消SMTP服務后再重新勾選啟用;
2.是否由於該QQ賬號向該163郵箱一段時間內發送了過多的郵件而被163郵箱認為是垃圾郵件。可嘗試設置163郵箱反垃圾選項中的白名單。
3.是否由於該QQ賬號向該163郵箱一段時間內發送了過多的郵件而使得QQ郵箱有一定的“自衛行為”,即QQ認為該賬號處於非正常狀態繼而封鎖該賬號(或該賬號的IP/IP段)。取消SMTP服務后再重新勾選啟用或嘗試用該賬號在異地發送郵件,可能有助於解除QQ郵箱對該賬號的封鎖(有待測試。如測試,請謹慎為之。對由於測試此項可能性而產生的賬號安全風險本人概不負責)。

附通過QQ郵箱的SMTP服務器成功發送QQ郵件至163郵箱的代碼(截至2014年3月19號仍可發送成功):

        private void btnSend_Click(object sender, System.EventArgs e)
        {
            string QQNum = txtQQ.Text + "@qq.com" ;
            string QQPwd = txtPwd.Text;
            string wy = "xxxxx@163.com";
            MailAddress from = new MailAddress(QQNum);
            MailAddress to = new MailAddress(wy);
            MailMessage mail = new MailMessage(from, to);
            mail.Subject = "主題";
            mail.Body = "內容";
            mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess;
            mail.Sender = new MailAddress(QQNum);
            mail.BodyEncoding = Encoding.UTF8;
            mail.IsBodyHtml = false;
            SmtpClient client = new SmtpClient("smtp.exmail.qq.com");
            client.UseDefaultCredentials = false;
            client.Credentials = new System.Net.NetworkCredential(QQNum, QQPwd);
            client.DeliveryMethod = SmtpDeliveryMethod.Network;
            try
            {
                client.Send(mail);
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM