C# Gmail 寄信功能

嗨~ 我是 IG 雞湯工程師 歡迎大家追蹤我喔~

情境:

今天想寫一個,寄信的功能,但是又沒有Mail Server 所以就借用 Gmail的SMTP來做此功能。

目標:

1.使用SmtpClient並呼叫 Gmail SMTP 寄信。

2. 設定 應用程式加密的密碼,這是甚麼呢? 這就是要跟google 申請一組 給應用程式(給你的程式)使用的密碼。

如果沒有設定,會出現 錯誤 --> The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.0 Authentication Required. Learn more at

解說:

第一步,設定google 應用程式密碼。(就照他上面步驟做就好了~)

google 申請應用程式密碼 文件

第二步,複製以下程式碼到你的code上面。

程式碼:

public void btneMail() 
        {
            try
            {
                System.Net.Mail.SmtpClient MailClient = new System.Net.Mail.SmtpClient("smtp.gmail.com", 587);

                MailClient.Credentials = new System.Net.NetworkCredential("你的帳號", "應用程式加密的密碼");

                MailClient.EnableSsl = true;

                MailClient.Send("發出", "目標", "C# Gmail發信測試", "TEST內容測試"); 
                
                MailClient.Dispose();
            } 
            catch (Exception ex) 
            {
            
            }
        }

解說:

為甚麼要設定 應用程式密碼呢?

如果沒設定的話,別人只要有明碼、帳號就可以違造你的Gmail身分來送信了。