.net core 發送郵件

在.net core2.0以上版本中 發送所用到的API與.net framework一致。1.0版本好像有差異,好在高版本解決了這個問題。服務器

 

爲了方便查看效果,以控制檯程序爲例。 郵箱服務器以如今比較大衆化QQ郵箱爲例測試

1.獲取QQ郵箱的受權碼ui

在使用QQ郵箱發送郵件時,須要額外的一個受權碼。不一樣於咱們平時所用的登陸密碼,是在開啓SMTP服務以後生成的一個密碼。它是用於登陸第三方客戶端的專用密碼。加密

步驟:spa

1.1 進入QQ郵箱首頁,在最上方點擊 設置 按鈕,進入下一頁面.net

 

1.2 點擊 帳戶 選項卡 ,劃到大概中間部分,有一個服務選項區。經實驗開啓前兩個就能夠了。3d

1.3 點擊下方的 生成受權碼,在開啓服務以後會自動生成一次。這一步若是綁定了密保,會先進行一次身份驗證。驗證以後會發放一個受權碼。這個受權碼,在程序裏會用到。code

 

2. 代碼實現對象

在拿到受權碼以後就能夠在代碼實現功能了blog

2.1 建立控制檯項目,代碼以下。 示例是用個人QQ郵箱給個人Gmail郵箱發送一封測試郵件。

static void Main(string[] args)
        {

            MailMessage mailMsg = new MailMessage();//實例化對象
            mailMsg.From = new MailAddress("923974733@qq.com", "季某人");//源郵件地址和發件人
            mailMsg.To.Add(new MailAddress("xiaomaprincess@gmail.com"));//收件人地址
            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("923974733@qq.com", "xxxxxxxxxxxxxx"); // 
            //發送郵件
            try
            {
                client.Send(mailMsg);
            }
            catch (SmtpException ex)
            {

            }
            Console.WriteLine("郵件已發送,請注意查收!");
            Console.ReadKey();

            

        }

 

2.2 啓動程序: 被告知已發送成功

 

 2.3 打開Gmail確認是否發送了郵件

 

 

成功接收!

相關文章
相關標籤/搜索