C# SMTP 郵件發送之QQ郵箱篇


郵件發送大家都已經非常熟悉了,微軟自帶的System.Net.Mail也很好用,那為什么還要說呢?

QQ郵箱的SMTP以前是非SSL,用未加密的25端口,后來發送都改成SSL了,端口為465或587(實測587是連不上的)。網上查到System.Net.Mail支持Explicit SSL,但是不支持Implicit SSL。簡單來說,就是System.Net.Mail不能支持像QQ郵箱這樣的加密的SSL,所以我們得改一下,可以用System.Web.Mail這個比較舊的類。

 如果你看到這段文字,說明您正使用RSS閱讀或轉自《一棵樹-博客園》,原文地址:https://www.cnblogs.com/atree/p/smtp-qq-email.html 

雖然是過時了,但是還是可以完成我們的需求。這里登陸密碼要注意:如果是一般賬號,要用授權碼(下面會說明設置);企業賬號用登錄密碼,代碼如下:

 

        System.Web.Mail.MailMessage mail = new System.Web.Mail.MailMessage();
        try
        {
            mail.To = "接收的郵箱";
            mail.From = "發送的郵箱";
            mail.Subject = "這是主題";
            mail.BodyFormat = System.Web.Mail.MailFormat.Html;
            mail.Body = "這是內容";

            mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); //身份驗證
            mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", mail.From); //郵箱登錄賬號,這里跟前面的發送賬號一樣就行
            mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "********"); //這個密碼要注意:如果是一般賬號,要用授權碼;企業賬號用登錄密碼
            mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", 465);//端口
            mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", "true");//SSL加密
            System.Web.Mail.SmtpMail.SmtpServer = "smtp.qq.com";    //企業賬號用smtp.exmail.qq.com
            System.Web.Mail.SmtpMail.Send(mail);

            //郵件發送成功
        }
        catch (Exception ex)
        {
            //失敗,錯誤信息:ex.Message;
        }

 


免責聲明!

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



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