You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
forgejo/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>
1 year ago
..
attachment.go Implement FSFE REUSE for golang files (#21840) 2 years ago
cache.go Implement FSFE REUSE for golang files (#21840) 2 years ago
cors.go Implement FSFE REUSE for golang files (#21840) 2 years ago
cron.go Implement FSFE REUSE for golang files (#21840) 2 years ago
cron_test.go Implement FSFE REUSE for golang files (#21840) 2 years ago
database.go Support disabling database auto migration (#22053) 2 years ago
database_sqlite.go Implement FSFE REUSE for golang files (#21840) 2 years ago
database_test.go Implement FSFE REUSE for golang files (#21840) 2 years ago
directory.go Implement FSFE REUSE for golang files (#21840) 2 years ago
federation.go Implement FSFE REUSE for golang files (#21840) 2 years ago
git.go Implement FSFE REUSE for golang files (#21840) 2 years ago
i18n.go Implement FSFE REUSE for golang files (#21840) 2 years ago
incoming_email.go Add support for incoming emails (#22056) 1 year ago
indexer.go Implement FSFE REUSE for golang files (#21840) 2 years ago
indexer_test.go Implement FSFE REUSE for golang files (#21840) 2 years ago
lfs.go Implement FSFE REUSE for golang files (#21840) 2 years ago
log.go Reminder for no more logs to console (#22282) 1 year ago
mailer.go Allow HOST has no port (#22280) 1 year ago
mailer_test.go Allow HOST has no port (#22280) 1 year ago
markup.go Implement FSFE REUSE for golang files (#21840) 2 years ago
migrations.go Implement FSFE REUSE for golang files (#21840) 2 years ago
mime_type_map.go Implement FSFE REUSE for golang files (#21840) 2 years ago
mirror.go Implement FSFE REUSE for golang files (#21840) 2 years ago
oauth2_client.go Implement FSFE REUSE for golang files (#21840) 2 years ago
packages.go Implement FSFE REUSE for golang files (#21840) 2 years ago
packages_test.go Implement FSFE REUSE for golang files (#21840) 2 years ago
picture.go Fix bug of DisableGravatar default value (#22296) 1 year ago
project.go Implement FSFE REUSE for golang files (#21840) 2 years ago
proxy.go Implement FSFE REUSE for golang files (#21840) 2 years ago
queue.go Implement FSFE REUSE for golang files (#21840) 2 years ago
repository.go Add option to prohibit fork if user reached maximum limit of repositories (#21848) 1 year ago
service.go Implement FSFE REUSE for golang files (#21840) 2 years ago
session.go Implement FSFE REUSE for golang files (#21840) 2 years ago
setting.go Add support for incoming emails (#22056) 1 year ago
setting_test.go Implement FSFE REUSE for golang files (#21840) 2 years ago
storage.go Implement FSFE REUSE for golang files (#21840) 2 years ago
storage_test.go Implement FSFE REUSE for golang files (#21840) 2 years ago
task.go Implement FSFE REUSE for golang files (#21840) 2 years ago
webhook.go Implement FSFE REUSE for golang files (#21840) 2 years ago