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>
This commit is contained in:
parent
20e3ffd208
commit
fc037b4b82
26 changed files with 1524 additions and 38 deletions
|
@ -1664,6 +1664,47 @@ ROUTER = console
|
|||
;; convert \r\n to \n for Sendmail
|
||||
;SENDMAIL_CONVERT_CRLF = true
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;[email.incoming]
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;
|
||||
;; Enable handling of incoming emails.
|
||||
;ENABLED = false
|
||||
;;
|
||||
;; The email address including the %{token} placeholder that will be replaced per user/action.
|
||||
;; Example: incoming+%{token}@example.com
|
||||
;; The placeholder must appear in the user part of the address (before the @).
|
||||
;REPLY_TO_ADDRESS =
|
||||
;;
|
||||
;; IMAP server host
|
||||
;HOST =
|
||||
;;
|
||||
;; IMAP server port
|
||||
;PORT =
|
||||
;;
|
||||
;; Username of the receiving account
|
||||
;USERNAME =
|
||||
;;
|
||||
;; Password of the receiving account
|
||||
;PASSWORD =
|
||||
;;
|
||||
;; Whether the IMAP server uses TLS.
|
||||
;USE_TLS = false
|
||||
;;
|
||||
;; If set to true, completely ignores server certificate validation errors. This option is unsafe.
|
||||
;SKIP_TLS_VERIFY = true
|
||||
;;
|
||||
;; The mailbox name where incoming mail will end up.
|
||||
;MAILBOX = INBOX
|
||||
;;
|
||||
;; Whether handled messages should be deleted from the mailbox.
|
||||
;DELETE_HANDLED_MESSAGE = true
|
||||
;;
|
||||
;; Maximum size of a message to handle. Bigger messages are ignored. Set to 0 to allow every size.
|
||||
;MAXIMUM_MESSAGE_SIZE = 10485760
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;[cache]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue