This was originally authored by @stevesavanna in #707. This commit
contains changes and refactors that could not be pushed to the original PR.
Changes from #707
- Don't ignore bounce mails missing campaign / subscriber UUIDs. The
original behaviour falls back to looking up subscribers by e-mail.
- Refactor repetetive header.get + regexp conditions per header into
a simpler lookup map.
- Trim e-mail header values of `\r`.
Closes#707, #763
Co-authored-by: stevesavanna <steven@savannacorp.com>
- Blocklist or unsubscribe subscribers based on a bounce threshold
- Add /bounces UI for viewing bounces and in the subscriber view
- Add settings UI for managing bounce settings
- Add support for scanning POP3 bounce mailboxes
- Add a generic webhook for posting custom bounces at /webhooks/bounce
- Add SES bounce webhook support at /webhooks/services/ses
- Add Sendgrid bounce webhook support at /webhooks/services/sendgrid