騰訊企業郵箱客戶端配置介紹
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); }
方法的差異