forgejo-federation/modules/setting
KN4CK3R fc037b4b82
Add support for incoming emails (#22056)
closes #13585
fixes #9067
fixes #2386
ref #6226
ref #6219
fixes #745

This PR adds support to process incoming emails to perform actions.
Currently I added handling of replies and unsubscribing from
issues/pulls. In contrast to #13585 the IMAP IDLE command is used
instead of polling which results (in my opinion 😉) in cleaner code.

Procedure:
- When sending an issue/pull reply email, a token is generated which is
present in the Reply-To and References header.
- IMAP IDLE waits until a new email arrives
- The token tells which action should be performed

A possible signature and/or reply gets stripped from the content.

I added a new service to the drone pipeline to test the receiving of
incoming mails. If we keep this in, we may test our outgoing emails too
in future.

Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
2023-01-14 23:57:10 +08:00
..
attachment.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
cache.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
cors.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
cron.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
cron_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
database.go Support disabling database auto migration (#22053) 2022-12-07 09:58:31 -06:00
database_sqlite.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
database_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
directory.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
federation.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
git.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
i18n.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
incoming_email.go Add support for incoming emails (#22056) 2023-01-14 23:57:10 +08:00
indexer.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
indexer_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
lfs.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
log.go Reminder for no more logs to console (#22282) 2023-01-01 22:00:33 +08:00
mailer.go Allow HOST has no port (#22280) 2023-01-11 20:09:24 +00:00
mailer_test.go Allow HOST has no port (#22280) 2023-01-11 20:09:24 +00:00
markup.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
migrations.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
mime_type_map.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
mirror.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
oauth2_client.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
packages.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
packages_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
picture.go Fix bug of DisableGravatar default value (#22296) 2023-01-01 20:19:23 +08:00
project.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
proxy.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
queue.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repository.go Add option to prohibit fork if user reached maximum limit of repositories (#21848) 2022-12-27 15:21:14 -06:00
service.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
session.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
setting.go Add support for incoming emails (#22056) 2023-01-14 23:57:10 +08:00
setting_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
storage.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
storage_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
task.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
webhook.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00