Skip to content
On this page

電郵設定

按照上一章節以 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.drivertype 被預設爲 Log。在此設定下, 電郵內容不會寄發,而是直接打印到日誌。想要真正寄發郵件到網路上,您需要設定 SMTP ,或是使用 Mailgun 的金鑰。

SMTP

SMTP(簡單郵遞傳送協定) 是現今全球通用的電郵傳送標準,碳鍵支援使用 SMTP 伺服器的帳號密碼來寄送信件。

全球最大的電郵供應商 Gmail 提供了免費的 SMTP 服務,以下僅以 Gmail 爲例,但您可將設定套用到其他提供 SMTP 服務的電郵供應商,或是自架的 SMTP 伺服器。

  1. 註冊並登入 Google 帳戶
  2. [ Google 帳戶 => 安全性 => 登入 Google => 應用程式密碼 ] 取得密碼。

設定 carbonbond.release.tomlemail.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.tomlemail.driver 如下

toml
domail = "您的域名"
from = "寄件人稱呼 <noreply@您的域名>"
[email.driver]
type = "Mailgun
mailgun_api_key = <API_KEY>