aboutsummaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Emit a transient error code for incorrect usageGeorge Claghorn2018-11-081-5/+3
|
* Use the address lists that have already been supplied to ensure we get the ↵David Heinemeier Hansson2018-11-071-10/+5
| | | | names as well
* TIL: The from field can technically have multiple people in it, but it is ↵David Heinemeier Hansson2018-11-071-1/+1
| | | | exceedingly rare.
* Recipient fields may be nilDavid Heinemeier Hansson2018-11-071-1/+1
|
* Autoload ActionMailbox::TestCaseGeorge Claghorn2018-11-071-0/+1
|
* Provide a default ActionMailbox::TestCaseDavid Heinemeier Hansson2018-11-061-0/+8
|
* Split out all the addresses from recipientsDavid Heinemeier Hansson2018-11-062-21/+26
|
* Add addresses convenience method and a test for itDavid Heinemeier Hansson2018-11-051-0/+21
|
* Extract Mail-bound methods into mail_ext for future upstream workDavid Heinemeier Hansson2018-11-055-6/+17
|
* Merge pull request #1 from basecamp/ingressesGeorge Claghorn2018-11-054-7/+58
|\ | | | | Accept inbound emails from a variety of ingresses
| * Always emit enhanced SMTP status codesGeorge Claghorn2018-11-051-11/+12
| |
| * The ingress username is constantGeorge Claghorn2018-11-051-4/+6
| |
| * Only load the AWS SDK when the Amazon ingress is configuredGeorge Claghorn2018-11-051-1/+12
| |
| * Read ingress passwords/API keys from encrypted credentialsGeorge Claghorn2018-11-052-0/+2
| | | | | | | | Fall back to ENV for people who prefer that approach.
| * Add a Rake task for piping to the Postfix ingressGeorge Claghorn2018-10-191-0/+38
| |
| * Merge branch 'master' into ingressesGeorge Claghorn2018-10-183-7/+7
| |\
| * | Don't require Postfix to send form dataGeorge Claghorn2018-10-181-7/+4
| | |
* | | Validate address on route definitionGeorge Claghorn2018-10-301-3/+9
| |/ |/|
* | Revert "Remove unnecessary TODO"George Claghorn2018-10-171-0/+1
| | | | | | | | This reverts commit 89ada1977ce648b2121cad7cfb95af9686ea016b.
* | Remove needless autoloadsGeorge Claghorn2018-10-171-2/+0
| | | | | | | | ActionMailbox::Callbacks and ActionMailbox::Routing are eagerly loaded where they're used.
* | Shush various interpreter warningsGeorge Claghorn2018-10-172-2/+2
| |
* | Use a class attributeGeorge Claghorn2018-10-171-4/+6
| |
* | Remove unnecessary TODOGeorge Claghorn2018-10-171-1/+0
|/ | | | Exception handlers are executed in the context of a mailbox instance and already have access to the inbound email.
* StyleGeorge Claghorn2018-10-111-1/+1
|
* Move installation tasks to lib/tasks/install.rakeGeorge Claghorn2018-10-112-17/+19
|
* Make incineration horizon configurableGeorge Claghorn2018-10-062-0/+3
|
* Terminate processing if inbound email is marked as delivered in callbackGeorge Claghorn2018-10-062-10/+9
|
* Compare addresses case-insensitivelyGeorge Claghorn2018-10-031-2/+2
|
* Skip after callbacks on terminateGeorge Claghorn2018-10-031-1/+1
|
* Delete .DS_Store filesGeorge Claghorn2018-10-031-0/+0
|
* Terminate processing on bounceGeorge Claghorn2018-10-031-1/+12
|
* Add ActionMailbox::Base#bounce_withGeorge Claghorn2018-10-031-0/+5
|
* Permit receiving an email fixtureGeorge Claghorn2018-10-021-0/+4
|
* Support nesting mailboxes in modulesGeorge Claghorn2018-10-011-1/+1
|
* Add a test helper for creating and routing an inbound emailGeorge Claghorn2018-10-011-1/+5
|
* Provide a loggerGeorge Claghorn2018-10-013-2/+8
|
* ActionMailroom -> ActionMailboxDavid Heinemeier Hansson2018-09-2815-79/+81
| | | | We didn't end up using the mailroom metaphor directly, so let's stick with a more conventional naming strategy.
* Extract MessageId concernDavid Heinemeier Hansson2018-09-281-1/+1
|
* active_storage:install may halt chain if its already been runDavid Heinemeier Hansson2018-09-271-1/+1
|
* Make an email that fails to deliver to a mailbox as bouncedDavid Heinemeier Hansson2018-09-271-0/+2
| | | | Probably need a way to either provide more email on the nature of a bounce or have a separate status code for "undeliverable".
* Handle all recipients of an email as part of the routingDavid Heinemeier Hansson2018-09-251-2/+7
|
* Extract and associate message_id with newly created inbound emailsDavid Heinemeier Hansson2018-09-251-4/+6
|
* Add simply bounce handlingDavid Heinemeier Hansson2018-09-211-2/+2
| | | | Bouncing is not an exceptional state, so let's not use exceptions to deal with it.
* Stick with match conceptDavid Heinemeier Hansson2018-09-201-2/+2
|
* StyleDavid Heinemeier Hansson2018-09-201-1/+0
|
* Expand router with real routing object and 4-way address optionsDavid Heinemeier Hansson2018-09-203-4/+46
|
* Use proper defaultDavid Heinemeier Hansson2018-09-201-1/+1
|
* Less fancyDavid Heinemeier Hansson2018-09-191-2/+2
|
* Allow inbound emails to be created on the flyDavid Heinemeier Hansson2018-09-191-5/+11
|
* before_processing should run before the inbound email has been marked as ↵David Heinemeier Hansson2018-09-191-2/+2
| | | | processing