Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Configurable failure types for rejected mail. #102

Open
angerer opened this issue May 22, 2018 · 3 comments
Open

Configurable failure types for rejected mail. #102

angerer opened this issue May 22, 2018 · 3 comments

Comments

@angerer
Copy link

angerer commented May 22, 2018

The new options for whitelisting/blacklisting and exceptions are great! Thank you.

We would like to be able to test for different types of rejections, as our systems track and report on things that are permanent (e.g., bad address) or temporary (e.g., mailbox full) issues causing email rejections. Within those, there is some capacity for us to track the reason for the temporary or permanent bounce (address, spammy content, remote server issues, etc).

Happy to contribute here, but I thought it would be helpful to discuss with you about approach, rather than just forking and going off on my own, as I suspect this would be helpful to some others.

Thanks. We love the project!

@jhillyerd
Copy link
Collaborator

This is similar to #52

I'm still thinking about how this should be accomplished, but right now am leaning towards it being a service outside of Inbucket that could handle common dev/test/QA mail routing scenarios, random failures.

@angerer
Copy link
Author

angerer commented Jun 5, 2018

Thanks for responding.

Fair enough on the design. Just to be clear, you mean some other service that inbucket would relay smtp requests to? Or do you mean some dependent module that would plug into inbucket? I assume the former.

@jhillyerd
Copy link
Collaborator

jhillyerd commented Jun 5, 2018

Similar to the former, but reversed, the new server would act as a relay, and you could configure it to relay mail into Inbucket, or any other SMTP server.

My general thinking is that current SMTP servers (Postfix, Sendmail, etc) make hard things, like running a whole domain full of email accounts, easy. But they make conceptually easy things hard, like:

  • Route all emails from this IP range to Inbucket, otherwise send to a real email server.
  • Reject all mail from this IP range.
  • Prefix subject line subject with [Environment X] if from this IP range
  • Randomly reject mail (chaos monkey)
  • NSA mode: send all email to Inbucket AND relay it to a real mailserver

I think this is because they are configured in a declarative manner, and are very concerned with not losing email. My idea is to provide an imperative configuration (aka scripting language), and have no compunctions about losing email if you configure the thing wrong. :)

At some point I will do a more exhaustive search and make sure I'm not re-inventing the wheel.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Development

No branches or pull requests

2 participants