gitea/docs/content/administration/email-setup.zh-cn.md
Giteabot 72b55c8094
Update email-setup.en-us.md (#26068) (#26166)
Backport #26068 by @felixvictor

The setting `MAILER_TYPE` is deprecated.
According to the config cheat sheet, it should be `PROTOCOL`.

Co-authored-by: Felix Victor <felix.victor.na@gmail.com>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
2023-07-26 10:55:27 -05:00

3.0 KiB
Raw Blame History

date title slug sidebar_position toc draft aliases menu
2023-05-23T09:00:00+08:00 Email 设置 email-setup 12 false false
/zh-cn/email-setup
sidebar
parent name sidebar_position identifier
administration Email 设置 12 email-setup

Email 设置

Gitea 具有邮件功能,用于发送事务性邮件(例如注册确认邮件)。它可以配置为使用 Sendmail或兼容的 MTA例如 Postfix 和 msmtp或直接使用 SMTP 服务器。

使用 Sendmail

使用 sendmail 命令作为邮件传输代理mailer

注意对于在官方Gitea Docker镜像中使用请使用SMTP版本进行配置请参考下一节

注意:对于面向互联网的网站,请查阅您的 MTA 文档以了解通过TLS发送邮件的说明。同时设置 SPF、DMARC 和 DKIM DNS 记录,以使发送的邮件被各个电子邮件提供商接受为合法邮件。

[mailer]
ENABLED       = true
FROM          = gitea@mydomain.com
PROTOCOL   = sendmail
SENDMAIL_PATH = /usr/sbin/sendmail
SENDMAIL_ARGS = "--" ; 大多数 "sendmail" 程序都接受选项,使用 "--" 将防止电子邮件地址被解释为选项。

使用 SMTP

直接使用 SMTP 服务器作为中继。如果您不想在实例上设置 MTA但在电子邮件提供商那里有一个帐户这个选项非常有用。

[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 加密 SMTP 服务器通信时才支持身份验证。TLS 加密可以通过以下方式进行:

  • 通过端口 587 的 STARTTLS也称为 Opportunistic TLS。初始连接是明文的但如果服务器支持则可以升级为 TLS。
  • 通过默认端口 465 的 SMTPS 连接。连接到服务器从一开始就使用 TLS。
  • 使用 IS_TLS_ENABLED=true 进行强制的 SMTPS 连接。(这两种方式都被称为 Implicit TLS
    这是由于 Go 内部库对 STRIPTLS 攻击的保护机制。

请注意自2018年起RFC8314 推荐使用 Implicit TLS。

Gmail

以下配置应该适用于 Gmail 的 SMTP 服务器:

[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 帐户密码。