githaven/docs/content/doc/usage/email-setup.en-us.md
melkor0 8f85a49947
Update "email usage" page to current ver. (1.18) (#21649)
In version 1.18 the naming scheme for smtp has been changed, HOST has
been split in SMTP_ADDR and SMTP_PORT
(https://docs.gitea.io/en-us/config-cheat-sheet/#mailer-mailer).
2022-10-31 22:02:37 +00:00

2.9 KiB

date title slug weight toc draft menu
2019-10-15T10:10:00+05:00 Usage: Email setup email-setup 12 false false
sidebar
parent name weight identifier
usage Email setup 12 email-setup

Email setup

Table of Contents

{{< toc >}}

Gitea has mailer functionality for sending transactional emails (such as registration confirmation). It can be configured to either use Sendmail (or compatible MTAs like Postfix and msmtp) or directly use SMTP server.

Using Sendmail

Use sendmail command as mailer.

Note: For use in the official Gitea Docker image, please configure with the SMTP version (see the following section).

Note: For Internet-facing sites consult documentation of your MTA for instructions to send emails over TLS. Also set up SPF, DMARC, and DKIM DNS records to make emails sent be accepted as legitimate by various email providers.

[mailer]
ENABLED       = true
FROM          = gitea@mydomain.com
MAILER_TYPE   = sendmail
SENDMAIL_PATH = /usr/sbin/sendmail
SENDMAIL_ARGS = "--" ; most "sendmail" programs take options, "--" will prevent an email address being interpreted as an option.

Using SMTP

Directly use SMTP server as relay. This option is useful if you don't want to set up MTA on your instance but you have an account at email provider.

[mailer]
ENABLED        = true
FROM           = gitea@mydomain.com
MAILER_TYPE    = smtp
SMTP_ADDR      = mail.mydomain.com
SMTP_PORT      = 587
IS_TLS_ENABLED = true
USER           = gitea@mydomain.com
PASSWD         = `password`

Restart Gitea for the configuration changes to take effect.

To send a test email to validate the settings, go to Gitea > Site Administration > Configuration > SMTP Mailer Configuration.

For the full list of options check the [Config Cheat Sheet]({{< relref "doc/advanced/config-cheat-sheet.en-us.md" >}})

Please note: authentication is only supported when the SMTP server communication is encrypted with TLS or HOST=localhost. TLS encryption can be through:

  • STARTTLS (also known as Opportunistic TLS) via port 587. Initial connection is done over cleartext, but then be upgraded over TLS if the server supports it.
  • SMTPS connection (SMTP over TLS) via the default port 465. Connection to the server use TLS from the beginning.
  • Forced SMTPS connection with IS_TLS_ENABLED=true. (These are both known as Implicit TLS.) This is due to protections imposed by the Go internal libraries against STRIPTLS attacks.

Note that Implicit TLS is recommended by RFC8314 since 2018.

Gmail

The following configuration should work with GMail's SMTP server:

[mailer]
ENABLED        = true
SMTP_ADDR      = smtp.gmail.com
SMTP_PORT      = 465
FROM           = example@gmail.com
USER           = example@gmail.com
PASSWD         = ***
MAILER_TYPE    = smtp
IS_TLS_ENABLED = true
HELO_HOSTNAME  = example.com