# 使用 Gmail SMTP 寄送 Email 紀錄

## 引言

總之，Gmail SMTP 到今天為止還有開放一些每日免費額度，個人500封，企業2000封。多年後 google 有調整一些安全政策。

注意事項：

1. [Google 安全政策](https://support.google.com/accounts/answer/6010255)：*自 2022 年 5 月 30 日起，如果第三方應用程式或裝置只要求您以使用者名稱和密碼登入 Google 帳戶，Google 將不再支援這些應用程式或裝置。*&#x82E5;要繞過此限制，請啟用[兩步驟驗證](https://support.google.com/accounts/answer/185839)並建立[應用程式密碼](https://support.google.com/accounts/answer/185833)。

## 取得『應用程式密碼』 來寄信

一、先註冊 google account。個人或企業都行。

二、到【管理你的 Google 帳戶】頁面。選取［安全性］。『在 Google 帳戶中搜尋』輸入"應用程式密碼"。&#x20;

如下圖引導取得你的：<mark style="color:blue;">應用程式密碼</mark>。

<figure><img src="https://2824640380-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR3PuuKz8zq4dM5WBIwV8%2Fuploads%2FTWDGmmBIeexZKK0P3UjV%2Fimage.png?alt=media&#x26;token=b60d7f6d-2df9-47e7-817f-7258a1553a42" alt=""><figcaption></figcaption></figure>

選取【應用程式密碼】功能頁面。

<figure><img src="https://2824640380-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR3PuuKz8zq4dM5WBIwV8%2Fuploads%2FKzS17fmZ95jHJQg9odC8%2Fimage.png?alt=media&#x26;token=cf7fe3d5-fe3c-40ec-a40b-5c353fdb0111" alt=""><figcaption></figcaption></figure>

可以看到之前建立的應用程式密碼清單。也可在此設定新的。

<figure><img src="https://2824640380-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR3PuuKz8zq4dM5WBIwV8%2Fuploads%2F90iBdbT8C40AtpTX2G9i%2Fimage.png?alt=media&#x26;token=146eedd3-aed1-4681-987b-49e22fcd3724" alt=""><figcaption></figcaption></figure>

若建立新的會要求再次認證，通過後給予新的四段式密碼。無法修改密碼只能重建。

<figure><img src="https://2824640380-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR3PuuKz8zq4dM5WBIwV8%2Fuploads%2FFaK4Piw46Oax7LbBe8Wi%2Fimage.png?alt=media&#x26;token=cb2f8d8e-92bd-490f-a1a0-6605f2c32e49" alt=""><figcaption></figcaption></figure>

## 程式整合應用

使用有支援 SMTP client 的套件就 行了。本人用 C# 開發，選用套件 `System.Net.Mail.SmtpClient` 。程式部份沒有特別注意事項。

在寄件組態上查到的文件說明有支援 port 465 無 SSL 與 port 587 有 SSL。實際測試寄信 port 465 無法成功寄出。改用  port 587 開 SSL 模式才成功寄出。下面是本人組態

<pre><code><strong>host: smtp.gmail.com
</strong><strong>from address: your_account@gmail.com
</strong><strong>from name: 寄件人顯示名稱
</strong><strong>user name: your_account@gmail.com
</strong><strong>password: {你的應用程式密碼}
</strong><strong>port: 587 
</strong><strong>use SSL: true 
</strong></code></pre>

## 參考文件

{% embed url="<https://www.teampel.com/zh-TW/faq/faqview?AtcID=250>" %}

{% embed url="<https://kb.synology.com/zh-tw/DSM/tutorial/How_to_use_Gmail_SMTP_server_to_send_emails_for_DSM>" %}

(EOF)
