2019-10-16 07:34:20 -04:00
---
date: "2019-10-15T10:10:00+05:00"
2023-04-06 05:06:32 -04:00
title: "Email setup"
2019-10-16 07:34:20 -04:00
slug: "email-setup"
2023-07-25 22:00:14 -04:00
sidebar_position: 12
2020-12-09 01:47:06 -05:00
toc: false
2019-10-16 07:34:20 -04:00
draft: false
Refactor docs (#23752)
This was intended to be a small followup for
https://github.com/go-gitea/gitea/pull/23712, but...here we are.
1. Our docs currently use `slug` as the entire URL, which makes
refactoring tricky (see https://github.com/go-gitea/gitea/pull/23712).
Instead, this PR attempts to make future refactoring easier by using
slugs as an extension of the section. (Hugo terminology)
- What the above boils down to is this PR attempts to use directory
organization as URL management. e.g. `usage/comparison.en-us.md` ->
`en-us/usage/comparison/`, `usage/packages/overview.en-us.md` ->
`en-us/usage/packages/overview/`
- Technically we could even remove `slug`, as Hugo defaults to using
filename, however at least with this PR it means `slug` only needs to be
the name for the **current file** rather than an entire URL
2. This PR adds appropriate aliases (redirects) for pages, so anything
on the internet that links to our docs should hopefully not break.
3. A minor nit I've had for a while, renaming `seek-help` to `support`.
It's a minor thing, but `seek-help` has a strange connotation to it.
4. The commits are split such that you can review the first which is the
"actual" change, and the second is added redirects so that the first
doesn't break links elsewhere.
---------
Signed-off-by: jolheiser <john.olheiser@gmail.com>
2023-04-27 23:33:41 -04:00
aliases:
- /en-us/email-setup
2019-10-16 07:34:20 -04:00
menu:
sidebar:
2023-03-23 11:18:24 -04:00
parent: "administration"
2019-10-16 07:34:20 -04:00
name: "Email setup"
2023-07-25 22:00:14 -04:00
sidebar_position: 12
2019-10-16 07:34:20 -04:00
identifier: "email-setup"
---
# Email setup
2021-07-12 16:05:40 -04:00
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.
2019-10-16 07:34:20 -04:00
2021-07-12 16:05:40 -04:00
## Using Sendmail
2020-12-09 01:47:06 -05:00
2021-07-12 16:05:40 -04:00
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.
2020-12-09 01:47:06 -05:00
2019-10-16 07:34:20 -04:00
```ini
[mailer]
2020-03-13 11:20:14 -04:00
ENABLED = true
FROM = gitea@mydomain.com
2023-07-26 11:55:27 -04:00
PROTOCOL = sendmail
2020-03-13 11:20:14 -04:00
SENDMAIL_PATH = /usr/sbin/sendmail
2022-03-18 10:19:02 -04:00
SENDMAIL_ARGS = "--" ; most "sendmail" programs take options, "--" will prevent an email address being interpreted as an option.
2020-03-13 11:20:14 -04:00
```
2021-07-12 16:05:40 -04:00
## 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.
2020-12-09 01:47:06 -05:00
2020-03-13 11:20:14 -04:00
```ini
[mailer]
ENABLED = true
FROM = gitea@mydomain.com
2023-07-26 11:55:27 -04:00
PROTOCOL = smtps
2022-10-31 18:02:37 -04:00
SMTP_ADDR = mail.mydomain.com
SMTP_PORT = 587
2020-03-13 11:20:14 -04:00
USER = gitea@mydomain.com
PASSWD = `password`
2019-10-16 07:34:20 -04:00
```
2021-07-12 16:05:40 -04:00
Restart Gitea for the configuration changes to take effect.
2019-10-16 07:34:20 -04:00
2021-07-12 16:05:40 -04:00
To send a test email to validate the settings, go to Gitea > Site Administration > Configuration > SMTP Mailer Configuration.
2019-10-16 07:34:20 -04:00
2023-07-25 22:00:14 -04:00
For the full list of options check the [Config Cheat Sheet ](administration/config-cheat-sheet.md )
2020-04-06 16:18:42 -04:00
2021-07-12 16:05:40 -04:00
Please note: authentication is only supported when the SMTP server communication is encrypted with TLS or `HOST=localhost` . TLS encryption can be through:
2022-07-27 21:22:47 -04:00
- 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.)
2021-07-12 16:05:40 -04:00
This is due to protections imposed by the Go internal libraries against STRIPTLS attacks.
Note that Implicit TLS is recommended by [RFC8314 ](https://tools.ietf.org/html/rfc8314#section-3 ) since 2018.
2020-05-24 18:56:18 -04:00
2020-04-06 16:18:42 -04:00
### Gmail
The following configuration should work with GMail's SMTP server:
```ini
[mailer]
ENABLED = true
2023-01-01 21:52:36 -05:00
HOST = smtp.gmail.com:465 ; Remove this line for Gitea >= 1.18.0
2022-10-31 18:02:37 -04:00
SMTP_ADDR = smtp.gmail.com
SMTP_PORT = 465
2023-01-01 21:52:36 -05:00
FROM = example.user@gmail.com
USER = example.user
2023-04-04 13:19:01 -04:00
PASSWD = `***`
2023-07-26 11:55:27 -04:00
PROTOCOL = smtp
2020-04-06 16:18:42 -04:00
IS_TLS_ENABLED = true
```
2023-01-01 21:52:36 -05:00
Note that you'll need to create and use an [App password ](https://support.google.com/accounts/answer/185833?hl=en ) by enabling 2FA on your Google
account. You won't be able to use your Google account password directly.