SMTP 簡單郵件傳輸協議(Simple Mail Transfer Protocol) SMTP 的目標是可靠,高效的傳輸郵件。 使用C/S架構(默認端口25)
協議:即約定和規範,不同的程序可以通過相同的協議來解析數據,從而提高數據的交互性。
市面上有很多第三方組件,根據協議制定了能夠讓我們進行快速的搭建程序的腳手架。這裏我們就利用System.Net.Mail 來快速的寫一個利用smtp發送郵件的小程序.
1、首先,添加對using System.Net.Mail程序集的引用
2
public static void TestMail() { try { string fromAddress = "[email protected]"; string toAddress = "[email protected]"; string subject = "Test Email"; string bodyMessage = "This is a test email message. 娟娟是個大傻逼"; // 創建 MailMessage 實例 MailMessage mailMessage = new MailMessage(fromAddress, toAddress, subject, bodyMessage); // 設置其他屬性 //mailMessage.CC.Add("[email protected]"); mailMessage.IsBodyHtml = true; // 發送郵件 SendEmail(mailMessage); } catch (Exception e) { throw e; } } static void SendEmail(MailMessage mailMessage) { using (SmtpClient smtpClient = new SmtpClient("smtp.qq.com", 25)) { smtpClient.UseDefaultCredentials = true; smtpClient.EnableSsl = true; // 替換爲你的 SMTP 服務器的用戶名和密碼(授權碼) smtpClient.Credentials = new System.Net.NetworkCredential("1145696689", "iruoqiohazubffgb"); try { smtpClient.Send(mailMessage); Console.WriteLine("Email sent successfully!"); } catch (Exception ex) { Console.WriteLine("Failed to send email: " + ex.Message); } } }
注意:
發送郵件,出現異常:服務器響應爲: Error: need EHLO and AUTH first !" 在使用 System.Net.Mail組建發送郵件的時候出現了"命令順序不正確。 服務器響應爲: Error: need EHLO and AUTH first !"異常 解決方法如下: 1.如果使用了qq郵箱請使用授權碼(不要用qq郵箱登錄密碼) 2.啓用smtp.UseDefaultCredentials = true; 3.啓用smtp.EnableSsl = true; QQ郵箱 POP3服務器地址:pop.qq.com(端口:110) SMTP服務器地址:smtp.qq.com (端口:25) QQ企業郵箱 POP3服務器地址:pop.exmail.qq.com(SSL啓用 端口:995) SMTP服務器地址:smtp.exmail.qq.com(SSL啓用 端口:587/465)
qq郵箱如何獲取授權碼
登錄網頁版的qq郵箱官網 點擊設置 點擊賬號
找到
直到根據步驟獲取到授權碼