.Net調用QQ郵箱發送郵件


話說網上發送郵件的代碼很多,但是我由於不細心,導致拿別人的代碼發送郵件老是失敗,今天就說說幾個要注意的地方吧!!!

       public bool SendEmail()
        {
            MailMessage msg = new MailMessage();

            msg.To.Add("to@qq.com");//收件人地址  
            msg.CC.Add("cc@qq.com");//抄送人地址  

            msg.From = new MailAddress("from@qq.com", "Edward");//發件人郵箱,名稱  

            msg.Subject = "This is a test email from QQ";//郵件標題  
            msg.SubjectEncoding = Encoding.UTF8;//標題格式為UTF8  

            msg.Body = "this is body";//郵件內容  
            msg.BodyEncoding = Encoding.UTF8;//內容格式為UTF8  

            SmtpClient client = new SmtpClient();

            client.Host = "smtp.qq.com";//SMTP服務器地址  
            client.Port = 587;//SMTP端口,QQ郵箱填寫587  

            client.EnableSsl = true;//啟用SSL加密  
             //發件人郵箱賬號,授權碼(注意此處,是授權碼你需要到qq郵箱里點設置開啟Smtp服務,然后會提示你第三方登錄時密碼處填寫授權碼) 
            client.Credentials = new System.Net.NetworkCredential("from@qq.com", "password");
       
            try
            {
                client.Send(msg);//發送郵件 
            }
            catch (Exception)
            {
                return false;
            }
            return true;
        }

  網上類似這段代碼的代碼很多,但是大多數都說的是client.Credentials = new System.Net.NetworkCredential("from@qq.com", "password")這塊寫的是password,其實可能之前的前輩們用的時候QQ郵箱需要的是密碼,但是現在qq郵箱需要的則是授權碼,下面就說怎么拿到這個授權碼吧!

  首先發送郵件要開啟一個smtp的服務(ps:我這菜鳥還是不久前才知道的,不過好像outlook不是smtp,反正協議很多的)

 第一步:打開qq郵箱點擊設置:

 

   然后還有兩步你就成功了

 第二步:點擊賬戶

 

第三步:向下拉找到smtp字樣的地方,然后全部開啟

相信你能理解這句話,然后你開啟的時候會自動彈出授權碼,如果沒有當時沒有復制粘貼可以點擊生成授權碼 ,來重新生成:

就是這個東東了,拿這個復制粘貼到你代碼的password處即可(ps:本菜鳥被坑的很慘啊,再說多一句163的郵箱也是這樣的,只有開啟smtp服務才能拿到授權碼)

 


免責聲明!

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



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