跳至主要内容
版本:1.23.6

電子郵件設置

Gitea 具有發送交易電子郵件(如註冊確認)的郵件功能。它可以配置為使用 Sendmail(或兼容的 MTA,如 Postfix 和 msmtp)或直接使用 SMTP 服務器。

使用 Sendmail

使用 sendmail 命令作為郵件程序。

備註

要在官方 Gitea Docker 映像中使用,請配置為 SMTP 版本(請參閱以下部分)。

備註

對於面向互聯網的網站,請參閱您的 MTA 文檔以獲取有關通過 TLS 發送電子郵件的說明。還設置 SPF、DMARC 和 DKIM DNS 記錄,以使發送的電子郵件被各種電子郵件提供商接受為合法。

app.ini
[mailer]
ENABLED = true
FROM = gitea@mydomain.com
PROTOCOL = sendmail
SENDMAIL_PATH = /usr/sbin/sendmail
SENDMAIL_ARGS = "--" ; 大多數 "sendmail" 程序接受選項,"--" 將防止電子郵件地址被解釋為選項。

使用 SMTP

直接使用 SMTP 服務器作為中繼。此選項適用於您不想在實例上設置 MTA,但您在電子郵件提供商處有帳戶的情況。

app.ini
[mailer]
ENABLED = true
FROM = gitea@mydomain.com
PROTOCOL = smtps
SMTP_ADDR = mail.mydomain.com
SMTP_PORT = 587
USER = gitea@mydomain.com
PASSWD = `password`

重新啟動 Gitea 以使配置更改生效。

要發送測試電子郵件以驗證設置,請轉到 Gitea > 站點管理 > 配置 > 摘要 -> 郵件配置。

有關完整的選項列表,請參閱 配置備忘單

備註

僅當 SMTP 服務器通信使用 TLS 加密或 HOST=localhost 時,才支持身份驗證。TLS 加密可以通過:

  • STARTTLS(也稱為機會性 TLS)通過端口 587。初始連接在明文上完成,但如果服務器支持,則升級為 TLS。
  • SMTPS 連接(SMTP over TLS)通過默認端口 465。從一開始就使用 TLS 連接到服務器。
  • 使用 PROTOCOL=smtps 強制 SMTPS 連接。(這些都稱為隱式 TLS。) 這是由於 Go 內部庫對 STRIPTLS 攻擊的保護。

請注意,自 2018 年以來,RFC8314 建議使用隱式 TLS。

Gmail

以下配置應適用於 GMail 的 SMTP 服務器:

app.ini
[mailer]
ENABLED = true
HOST = smtp.gmail.com:465 ; 對於 Gitea >= 1.18.0,刪除此行
SMTP_ADDR = smtp.gmail.com
SMTP_PORT = 465
FROM = example.user@gmail.com
USER = example.user
PASSWD = `***`
PROTOCOL = smtps

請注意,您需要通過在 Google 帳戶上啟用 2FA 來創建和使用 應用程序密碼。您將無法直接使用您的 Google 帳戶密碼。

ProtonMail

此功能目前僅適用於選定的 Proton for Business 客戶以及擁有自定義域地址的 Visionary 和 Family 計劃用戶。請參閱 ProtonMail 的 SMTP 文檔 以獲取更多信息。此限制可以通過使用 ProtonMail Bridge 應用程序來繞過。

請注意,使用 SMTP 發送的電子郵件不是 端到端加密 的。然而,它們仍然像 Proton Mail 收件箱中的其他電子郵件一樣存儲為零訪問加密。

以下配置應適用於 ProtonMail 的 SMTP 服務器:

  1. 在您的瀏覽器(或桌面應用程序)中,登錄到您的 Proton Mail 帳戶,然後選擇 設置 → 所有設置 → Proton Mail → IMAP/SMTP → SMTP 令牌
  2. 單擊 生成令牌
  3. 輸入以下詳細信息以創建新的 SMTP 令牌:
    • 令牌名稱:選擇一個令牌名稱。這僅供您參考,不會影響令牌的功能。
    • 電子郵件地址:選擇一個活動的自定義域地址與您的令牌配對。複製此電子郵件地址並將其用於 app.ini 中的 FROMUSER 配置。
  4. 單擊 生成
  5. 輸入您的 Proton Mail 帳戶密碼。

您的 SMTP 用戶名和 SMTP 令牌(密碼)將生成。您現在可以將它們作為 USERPASSWD 輸入到您的 app.ini 配置中。

app.ini
[mailer]
ENABLED = true
FROM = example.user@customdomain.tld
PROTOCOL = smtp+starttls
SMTP_ADDR = smtp.protonmail.ch
SMTP_PORT = 587
USER = example.user@customdomain.tld
PASSWD = `TOKEN`

關閉彈出窗口後,出於安全原因,您將無法再次看到此 SMTP 令牌(密碼)。如果需要旋轉密碼,您可以隨時生成更多令牌。

注意:您的 Proton Mail 登錄或郵箱密碼將無法與 SMTP 一起使用。