.net core 發送郵件
阿新 • • 發佈:2019-05-12
try from .net 測試測試 aos stat cep 效果 1.2 原文:.net core 發送郵件
在.net core2.0以上版本中 發送所用到的API與.net framework一致。1.0版本好像有差別,好在高版本解決了這個問題。
為了方便查看效果,以控制臺程序為例。 郵箱服務器以現在比較大眾化QQ郵箱為例
1.獲取QQ郵箱的授權碼
在使用QQ郵箱發送郵件時,需要額外的一個授權碼。不同於我們平時所用的登錄密碼,是在開啟SMTP服務之後生成的一個密碼。它是用於登錄第三方客戶端的專用密碼。
步驟:
1.1 進入QQ郵箱首頁,在最上方點擊 設置 按鈕,進入下一頁面
1.2 點擊 賬戶 選項卡 ,劃到大概中間部分,有一個服務選項區。經實驗開啟前兩個就可以了。
1.3 點擊下方的 生成授權碼,在開啟服務之後會自動生成一次。這一步如果綁定了密保,會先進行一次身份驗證。驗證之後會發放一個授權碼。這個授權碼,在程序裏會用到。
2. 代碼實現
在拿到授權碼之後就可以在代碼實現功能了
2.1 創建控制臺項目,代碼如下。 示例是用我的QQ郵箱給我的Gmail郵箱發送一封測試郵件。
static void Main(string[] args) { MailMessage mailMsg = new MailMessage();//實例化對象 mailMsg.From = newMailAddress("[email protected]", "季某人");//源郵件地址和發件人 mailMsg.To.Add(new MailAddress("[email protected]"));//收件人地址 mailMsg.Subject = "郵件發送測試";//發送郵件的標題 StringBuilder sb = new StringBuilder(); sb.Append("測試測試測試測試"); sb.Append("嘿嘿"); mailMsg.Body= sb.ToString();//發送郵件的內容 //指定smtp服務地址(根據發件人郵箱指定對應SMTP服務器地址) SmtpClient client = new SmtpClient();//格式:smtp.126.com smtp.164.com client.Host = "smtp.qq.com"; //要用587端口 client.Port = 587;//端口 //加密 client.EnableSsl = true; //通過用戶名和密碼驗證發件人身份 client.Credentials = new NetworkCredential("[email protected]", "xxxxxxxxxxxxxx"); // //發送郵件 try { client.Send(mailMsg); } catch (SmtpException ex) { } Console.WriteLine("郵件已發送,請註意查收!"); Console.ReadKey(); }
2.2 啟動程序: 被告知已發送成功
2.3 打開Gmail確認是否發送了郵件
成功接收!
接下來就可以把代碼封裝一下什麽的以便於調用。
.net core 發送郵件