Yet Another Attempt to Simplify Sending Emails
After relaunching the ANAIO website (http://ana.io/ - shameless plug) and admiring how clean and succinct the MVC code was, I was pretty frustrated with the lengths that I needed to go through to configure and send a single email.
Now I'm aware of how we all feel about PHP, but every-time I see an app using mail(...) and it just works I get a little green with envy. So after launching the site (and completing some client work -of course-), I decided to try to reduce sending emails from an application to a single statement.
Making wild authoritarian assumptions about *most* development use-cases, I've concluded that most developers don't need to know whether an email was delivered and whether it passed of failed, we only really care about validating the message and storing it somewhere.
And thus the Eventual Email Delivery System sprung forth. Email::Sender::Server does what most application developers need, simply. It sends emails in non blocking fashion. It validates messages, stores them in a message queue and sends them in the order received. You also get a queryable email store and the ability to troubleshoot any problems that may have occurred sending the email(s).
Sending Email is Easy're:
By default ESS operates out of the dist's share folder but you can create a new system anywhere.
This system is still very much a work in-progress.... Feedback welcome, dickishness is not. Enjoy :)