The first thing that got me involved in PEP was Email::Send, which was largely
unusable for serious email-related work becase it offered no mechanism for
specifying an envelope sender or recipient. It had a bunch of other problems,
some of which, we felt made fixing Email::Send in a backwards-compatible way a
Internally, at Pobox, we produced something called Email::Send::Mailer, which
was a base class for Email::Send mail-sending plugins. It helped solve the
problems, but required non-backwards-compatible changes to Email::Send and was,
generally, a pretty grody workaround.
Immediatley, we started talking about turning that work into a better
Email::Send replacement, which we called (in the office and on the mailing
After a lot of delays, I've gotten Email::Sender into a state where it's nearly
ready for release. I need to do a few significant things, but it's mostly
ready to go.
You can see it here: http://github.com/rjbs/email-sender
Right now, it uses Mouse, unless Moose is already loaded. Mouse has zero
prerequisites, so this is no more of an imposition than, say, Class::Accessor.
Still, if it's going to ruffle too many feathers, I will release this code as
Mail::Xmitter or something.
Things that remain to do:
* write up SMTP tests that can be used against different servers
* prune no-longer-needed prereqs (see Makefile.PL for notes)
* move SMTP_X, the persistent SMTP mailer, to xlib until it works
* test mbox delivery
* improve reporting of individual failures in sending, test it
I welcome thoughts, criticism, suggestions, or bug reports.