0
0
Fork 0
mirror of https://codeberg.org/forgejo/docs.git synced 2024-11-21 17:36:59 -05:00
forgejo-docs/admin/incoming-email.md

37 lines
1.8 KiB
Markdown
Raw Normal View History

2023-02-26 19:20:23 -05:00
---
layout: '~/layouts/Markdown.astro'
title: 'Incoming Email'
---
2023-02-26 19:21:54 -05:00
Forgejo supports the execution of several actions through incoming mails. This page describes how to set this up.
2023-02-26 19:20:23 -05:00
**Table of Contents**
{{< toc >}}
## Requirements
Handling incoming email messages requires an IMAP-enabled email account.
The recommended strategy is to use [email sub-addressing](https://en.wikipedia.org/wiki/Email_address#Sub-addressing) but a catch-all mailbox does work too.
2023-02-26 19:21:54 -05:00
The receiving email address contains a user/action specific token which tells Forgejo which action should be performed.
2023-02-26 19:20:23 -05:00
This token is expected in the `To` and `Delivered-To` header fields.
2023-02-26 19:21:54 -05:00
Forgejo tries to detect automatic responses to skip and the email server should be configured to reduce the incoming noise too (spam, newsletter).
2023-02-26 19:20:23 -05:00
## Configuration
To activate the handling of incoming email messages you have to configure the `email.incoming` section in the configuration file.
The `REPLY_TO_ADDRESS` contains the address an email client will respond to.
This address needs to contain the `%{token}` placeholder which will be replaced with a token describing the user/action.
This placeholder must only appear once in the address and must be in the user part of the address (before the `@`).
An example using email sub-addressing may look like this: `incoming+%{token}@example.com`
If a catch-all mailbox is used, the placeholder may be used anywhere in the user part of the address: `incoming+%{token}@example.com`, `incoming_%{token}@example.com`, `%{token}@example.com`
## Security
Be careful when choosing the domain used for receiving incoming email.
It's recommended receiving incoming email on a subdomain, such as `incoming.example.com` to prevent potential security problems with other services running on `example.com`.