LICCB / event-manager

2019-2020 Stevens Senior Design LICCB Event Manager Project
1 stars 0 forks source link

SMTP Rerouter dev tool #169

Open davidem00 opened 4 years ago

davidem00 commented 4 years ago

This project spawned an idea for what I think would be an interesting small, self-contained side project for development/testing use: a standalone SMTP Redirector service that communicates like an ordinary SMTP server, but delivers all emails to a prescribed set of destinations instead of the respective addressees (To, CC, BCC addressees, without modifying the addressee list itself) based on address pattern matching.

In this case, it arises from a need to test the functionality of the system across multiple participants of varying number who necessarily need to have different contact addresses for the system under scrutiny to be tested. It provides for the fact that email is sometimes part of an interactive workflow for a system that needs testing, and not just a final destination bucket which can be "turned off" and still test in a meaningful way.

It would also be used to prevent potential spamming of real addresses if/when a test system gets hooked up to historical data with real mail addresses. Mistakes happen. This can serve as a safety net, available on the local server, running on a non-standard port, invisible to the rest of the world.

davidem00 commented 4 years ago

There are existing "localhost" versions of this that just swallow every email and make them available in some dump area or local console UI tray. These can work well for a single developer working on their local workstation but it's hard to negotiate multiple access to such a console app, so not something that can serve multiple users or recipients especially well from a single testing environment, e.g.

davidem00 commented 4 years ago

For shared environment usage having a way to conditionally send things to one destination or another without having to specify TOO configuration information much seems like it would be useful, if it were reasonably flexible. So, if one could specify a few sets of patterns for a known set of acceptable destination recipients, as well as a "catch all", that would seem to be able to cover everything one might want to specify for routing.

In a pure testing situation, no need to be concerned about whether the addressees are real working mailboxes. you can mostly make up addresses on the fly without concern of rejection. Just specify a few patterns (assuming each addressee is a validly formed address):

e.g.: .+@security.net -> Jordan@stevens.edu .jordan.->Jordan .registrant.@.+.+ -> CJ@stevens.edu .matten. -> david.matten@licboathouse.org ...

(default) -> bucket directory, or some default recipient