電郵設定
按照上一章節以 docker 啓動碳鍵之後,點擊網頁右上方的註冊按鈕,輸入測試郵件 test@mal.com
並送出。您會在 docker compose
的日誌(log)中看到驗證信的內容:
寄件者:碳鍵 <noreply@mail.my-domain.com>
收件者:test@mail.com
主旨:歡迎您註冊碳鍵
內文:<html> <h1>歡迎加入碳鍵!</h1> <p>點選以下連結,一起嘴爆那些笨蛋吧!</p> <a href="http://localhost/app/signup/HlpGrzuxiXlofCWSelJ1Qa04REJtfPWM">http://localhost/app/signup/HlpGrzuxiXlofCWSelJ1Qa04REJtfPWM</a> <br/> </html>
然而,並不會真的有一封信送到 test@email.com
。那是因爲設定檔 api-service/config/carbonbond.release.toml
中,email.driver
的 type
被預設爲 Log
。在此設定下, 電郵內容不會寄發,而是直接打印到日誌。想要真正寄發郵件到網路上,您需要設定 SMTP ,或是使用 Mailgun 的金鑰。
SMTP
SMTP(簡單郵遞傳送協定) 是現今全球通用的電郵傳送標準,碳鍵支援使用 SMTP 伺服器的帳號密碼來寄送信件。
全球最大的電郵供應商 Gmail 提供了免費的 SMTP 服務,以下僅以 Gmail 爲例,但您可將設定套用到其他提供 SMTP 服務的電郵供應商,或是自架的 SMTP 伺服器。
- 註冊並登入 Google 帳戶
- [ Google 帳戶 => 安全性 => 登入 Google => 應用程式密碼 ] 取得密碼。
設定 carbonbond.release.toml
的 email.driver
如下
toml
[email.driver]
type = "SMTP
smtp_server = "smtp.gmail.com"
smtp_username = <帳號名@gmail.com>
smtp_password = <應用程式密碼>
Mailgun
Mailgun 是知名的企業電郵服務商,註冊後,該網站提供免費(有額度限制)的電郵寄送服務,除了可以使用上一小節的講述的 SMTP 帳密,Maigun 還提供了 API key 可以讓您在無需帳號密碼的情況下寄發郵件。
首先,註冊 Mailgun 並按照 Mailgun 的官方文件驗證您持有的網域。如果您尚未購買網域,也可以用 Mailgun 提供的測試網域。您可以在這裏查看您可以使用的網域。
若您已註冊好 Mailgun ,可以在這裏查看(Private) API key。
設定 carbonbond.release.toml
的 email.driver
如下
toml
domail = "您的域名"
from = "寄件人稱呼 <noreply@您的域名>"
[email.driver]
type = "Mailgun
mailgun_api_key = <API_KEY>