forgejo-federation/services
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
..
agit Rename almost all Ctx functions (#22071) 2022-12-10 10:46:31 +08:00
asymkey Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
attachment Add API management for issue/pull and comment attachments (#21783) 2022-12-09 14:35:56 +08:00
auth Improve utils of slices (#22379) 2023-01-11 13:31:16 +08:00
automerge refactor some functions to support ctx as first parameter (#21878) 2022-12-03 10:48:26 +08:00
context Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
convert Use context parameter in models/git (#22367) 2023-01-09 11:50:54 +08:00
cron Add doctor command for full GC of LFS (#21978) 2022-12-15 20:44:16 +00:00
externalaccount Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
forms Secrets storage with SecretKey encrypted (#22142) 2022-12-20 17:07:13 +08:00
gitdiff Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
issue Always reuse transaction (#22362) 2023-01-08 09:34:58 +08:00
lfs Use context parameter in models/git (#22367) 2023-01-09 11:50:54 +08:00
mailer Add support for incoming emails (#22056) 2023-01-14 23:57:10 +08:00
markup Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
migrations Update golang deps (#22410) 2023-01-12 09:21:16 +01:00
mirror Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
org Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
packages refactor auth interface to return error when verify failure (#22119) 2022-12-28 13:53:28 +08:00
pull Use context parameter in models/git (#22367) 2023-01-09 11:50:54 +08:00
release Add API management for issue/pull and comment attachments (#21783) 2022-12-09 14:35:56 +08:00
repository Continue GCing other repos on error in one repo (#22422) 2023-01-13 09:48:48 +08:00
task Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
user Unify hashing for avatar (#22289) 2023-01-02 22:46:39 +01:00
webhook fix: omit avatar_url in discord payload when empty (#22393) 2023-01-10 14:01:52 -05:00
wiki Improve utils of slices (#22379) 2023-01-11 13:31:16 +08:00