On Fri, 23 Dec 2011, will trillich wrote:

We switched to Mail::Sender -- it opens a connection to the SMTP server 
immediately, and pipes the output generating on -the-fly, instead of
accumulating beaucoup megabytes in RAM to then ship off the whole thing at once.

This is really not a great idea. The sendmail binary will take the message and queue it if the SMTP server isn't available immediately, so uses it helps make your app less sensitive to problems with the mail daemon. If you don't do this then you're stuck handling retrying logic in your app.

There's no reason not to just stream the output to the sendmail binary.

Rjbs has talked about adding a stream_to interface to Email::Abstract (and Email::{Simple,MIME}) which would make this a lot cleaner. I'm sure he'd welcome patches.

Courriel already supports a stream_to() API, but you'd need to write your own implementation of email parts which are stored on disk. This probably wouldn't too hard to implement, though.


-dave

/*============================================================
http://VegGuide.org               http://blog.urth.org
Your guide to all that's veg      House Absolute(ly Pointless)
============================================================*/

_______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/

Reply via email to