C# QQ & 163 郵件發送


       這篇文章的目的並不是說明如果進行右鍵的發送,因為在.net 壩壩的懷抱下郵件發送的功能實現並不會很難,當然郵件發送的代碼,還是會貼上的,昨天在寫一個郵件發送的功能,我直接找到了原來的代碼,想着直接就可以運行了,但是真正情況並非如此,遇到了很多報錯,這里做個說明。

       測試中出現了如下的報錯:

        163 

         1.不允許使用郵箱名稱。 服務器響應為:authentication is required,163 smtp14,EsCowACHqdDTBdBay0PiEw--.39304S3 1523582420

       2.郵箱不可用。 服務器響應為:User has no permission

         3.事務失敗。 服務器響應為:DT:SPM 163 smtp13,EcCowAAHf28_ENBawarsDQ--.43148S3 1523585089,please see http://mail.163.com/help/help_spam_16.htm?ip=xx.xx.xx.xx&hostid=smtp13&time=1523585089

         QQ 

         通過QQ發郵件基本沒有什么大的問題,可以成功,當然這一切的大的問題都是由於現在的qq和163都開始使用授權碼,what? 什么意思了,意思就是原來通過郵箱帳號,密碼然后發送右鍵的方式用不了了,所以這也就是為什么我原先的代碼用不了。

         如果開啟所謂的授權碼呢?

         163:

         

 

         163現在開啟POP3/SMTP服務的時候已經做了說明,如上“請使用授權碼登錄第三方右鍵客戶端”

          

 

          如上開啟授權碼即可,請牢記自己的授權碼

          QQ:

          

           如上,qq的smtp服務開啟與獲取授權碼

           下面開始貼發送的代碼:            

    public class EmalHelper
    {
        /// <summary>
        /// SMTP實例
        /// </summary>
        static System.Net.Mail.SmtpClient client = null;

        /// <summary>
        /// 發送信息
        /// </summary>
        /// <param name="Receiver">郵件接收人</param>
        /// <param name="Subject">郵件主題</param>
        /// <param name="content">郵件內容</param>    
        public static void SendEmail(string Receiver, string Subject, string content)
        {
            if (string.IsNullOrEmpty(Receiver) || string.IsNullOrEmpty(Subject)
                || string.IsNullOrEmpty(content))
            {
                throw new ArgumentNullException("SendEmail參數空異常!");
            }
            if (client == null)
            {
                try
                {
                    //163發送配置                    
                    client = new System.Net.Mail.SmtpClient();
                    client.Host = "smtp.163.com";
                    client.Port = 25;
                    client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
                    client.EnableSsl = true;
                    client.UseDefaultCredentials = true;


                    //qq發送配置的參數//切EnableSsl必須設置為true  
                    //client = new System.Net.Mail.SmtpClient();
                    //client.Host = "smtp.qq.com";
                    //client.Port = 25;
                    //client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
                    //client.EnableSsl = true;
                    //client.UseDefaultCredentials = false;

                    client.Credentials = new System.Net.NetworkCredential("郵箱帳號@xx.com", "授權碼");
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            try
            {
                System.Net.Mail.MailMessage Message = new System.Net.Mail.MailMessage();
                Message.SubjectEncoding = System.Text.Encoding.UTF8;
                Message.BodyEncoding = System.Text.Encoding.UTF8;
                Message.Priority = System.Net.Mail.MailPriority.High;

                Message.From = new System.Net.Mail.MailAddress("郵箱帳號@xx.com", "張三");
                //添加郵件接收人地址
                string[] receivers = Receiver.Split(new char[] { ',' });
                Array.ForEach(receivers.ToArray(), ToMail => { Message.To.Add(ToMail); });

                Message.Subject = Subject;
                Message.Body = content;
                Message.IsBodyHtml = true;
                client.Send(Message);                
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
    }

 上面的郵箱帳號正常輸入,后面必須填寫授權碼,否則就會提示, 不允許使用郵箱名稱。 服務器響應為:authentication is required,163 smtp13,EcCowACXmXrVFtBa20jvDQ--.25857S3 1523586773

  如果用戶沒有開啟授權碼,還是原先的用戶密碼的方式,郵箱不可用。 服務器響應為:User has no permission

  服務器響應為:DT:SPM 163 smtp13,EcCowAAHf28_ENBawarsDQ--.43148S3 1523585089,please see http://mail.163.com/help/help_spam_16.htm?ip=xx.xx.xx.xx&hostid=smtp13&time=1523585089 這是第三個錯誤,因為郵件被攔截導致,你的右鍵標題和內容要正規,我做了個測試 右鍵的標題為 “title” 報錯,改為“工作匯報”,郵件發送成功,而且這個錯誤還跟天氣有關,開個玩笑,有時候就是莫名其妙的出現,一會就好了


免責聲明!

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



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