C#發送騰訊企業郵箱


騰訊企業郵箱客戶端配置介紹

POP3/SMTP協議
POP3/SMTP協議:
接收郵件服務器:pop.exmail.qq.com (端口 110),使用SSL,端口號995
發送郵件服務器:smtp.exmail.qq.com (端口 25),使用SSL,端口號465或587
IMAP協議:
接收郵件服務器:imap.exmail.qq.com (端口 143),使用SSL,端口號993
發送郵件服務器:smtp.exmail.qq.com (端口 25),使用SSL,端口號465或587
賬戶名:您的企業郵箱賬戶名,賬戶名需要填寫完整的郵件地址
密碼:您的企業郵箱密碼
電子郵件地址:您的企業郵箱的完整郵件地址
海外用戶可使用以下服務器
POP3/SMTP協議
接收郵件服務器:hwpop.exmail.qq.com ,使用SSL,端口號995
發送郵件服務器:hwsmtp.exmail.qq.com ,使用SSL,端口號465
 
IMAP協議
接收郵件服務器:hwimap.exmail.qq.com ,使用SSL,端口號993
發送郵件服務器:hwsmtp.exmail.qq.com ,使用SSL,端口號465
由文檔可知,使用SMTP有2種方式
(1)直接使用25端口
(2)使用SSL,使用465或587端口

C#示例

直接使用25端口

在本機電腦可以使用
生產服務器就無法使用(提示timeout)
經百度得,阿里雲服務器默認關閉了25端口,故無法使用。
        /// <summary>
        /// 向用戶發送郵件
        /// </summary>
        /// <param name="ReceiveUser">接收人,郵箱地址</param>
        /// <param name="ReceiveName">接收人,顯示的名稱</param>
        /// <param name="SendUser">發件人,郵箱地址</param>
        /// <param name="DisplayName">發件人,顯示的名稱</param>
        /// <param name="SendUserName">發件人,郵箱地址</param>
        /// <param name="UserPassword">發件人,郵箱密碼</param>
        /// <param name="MailTitle">郵件標題</param>
        /// <param name="MailContent">郵件內容</param>
        private static void SendMail(string ReceiveUser, string ReceiveName, string SendUser, string DisplayName, string SendUserName, string UserPassword, string MailTitle, string MailContent)
        {
            MailAddress toMail = new MailAddress(ReceiveUser, ReceiveName);//接收者郵箱
            MailAddress fromMail = new MailAddress(SendUser, DisplayName);//發送者郵箱
            MailMessage mail = new MailMessage(fromMail, toMail);
            mail.Subject = MailTitle;
            mail.IsBodyHtml = true;//是否支持HTML
            mail.Body = MailContent;
            SmtpClient client = new SmtpClient();
            client.Host = "smtp.exmail.qq.com";//設置發送者郵箱對應的smtpserver
            client.UseDefaultCredentials = false;
            client.Credentials = new NetworkCredential(SendUserName, UserPassword);
            client.DeliveryMethod = SmtpDeliveryMethod.Network;

            client.Send(mail);
        }

 

使用SSL,使用端口號465或587

郵件發送端口的介紹

465端口

在本機電腦就無法使用(提示timeout)
生產服務器就無法使用(提示timeout)
經百度得,不建議使用465端口
不幸的是,465號端口從未被IETF(因特網工程任務組)認可,這個機構負責開發Internet標准,作為SMTP的正式端口。相反,IANA(互聯網數字分配機構)分配給smtps(簡單郵件傳輸協議),現在depracated確保SMTP的方法。

587端口

在本機電腦可以使用
生產服務器可以使用
最終使用了下面的版本
        /// <summary>
        /// 向用戶發送郵件
        /// </summary>
        /// <param name="ReceiveUser">接收人,郵箱地址</param>
        /// <param name="ReceiveName">接收人,顯示的名稱</param>
        /// <param name="SendUser">發件人,郵箱地址</param>
        /// <param name="DisplayName">發件人,顯示的名稱</param>
        /// <param name="SendUserName">發件人,郵箱地址</param>
        /// <param name="UserPassword">發件人,郵箱密碼</param>
        /// <param name="MailTitle">郵件標題</param>
        /// <param name="MailContent">郵件內容</param>
        private static void SendMail(string ReceiveUser, string ReceiveName, string SendUser, string DisplayName, string SendUserName, string UserPassword, string MailTitle, string MailContent)
        {
            MailAddress toMail = new MailAddress(ReceiveUser, ReceiveName);//接收者郵箱
            MailAddress fromMail = new MailAddress(SendUser, DisplayName);//發送者郵箱
            MailMessage mail = new MailMessage(fromMail, toMail);
            mail.Subject = MailTitle;
            mail.IsBodyHtml = true;//是否支持HTML
            mail.Body = MailContent;
            SmtpClient client = new SmtpClient();
            client.EnableSsl = true;
            client.Host = "smtp.exmail.qq.com";//設置發送者郵箱對應的smtpserver
            client.Port = 587;
            client.UseDefaultCredentials = false;
            client.Credentials = new NetworkCredential(SendUserName, UserPassword);
            client.DeliveryMethod = SmtpDeliveryMethod.Network;

            client.Send(mail);
        }

調用示例

        /// <summary>
        /// 發送郵件
        /// </summary>
        /// <param name="ReceiveUser">接收人,郵箱地址</param>
        /// <param name="ReceiveName">接收人,顯示的名稱</param>
        /// <param name="Title">郵件標題</param>
        /// <param name="Content">郵件內容</param>
        public static void SendEMail(string ReceiveUser, string ReceiveName, string Title, string Content)
        {
            string SendUser = "liyang@rs.cn";//發送人地址,
            string DisplayName = "李洋";//發送人顯示的名稱
            string SendUserName = "liyang@rs.cn";//發送人郵箱賬號
            string UserPassword = "Liyang1988@103";//發送人郵箱密碼
            string MailTitle = Title;
            string MailContent = Content;

            SendMail(ReceiveUser, ReceiveName, SendUser, DisplayName, SendUserName, UserPassword, MailTitle, MailContent);
        }

方法的差異

 


免責聲明!

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



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