NAME Email::Blaster - Scalable Mass Email System SYNOPSIS Generally, don't use this module from your code. Use the supplied scripts instead. DESCRIPTION Email::Blaster is the latest in a long, long line of mass-emailer systems I have written since 2002. This version has many features. * Clustering Support Uses memcached and libevent to do the heavy lifting. * Testing mode. Send a few messages to yourself before you turn on the firehose. * Domain-based throttling with hourly limits. Never get blacklisted again because of email flooding too quickly from your network. * Configurable (and subclassable) behaviors and components. If configuration alone doesn't get you what you want, you can always subclass something (i.e. MailSender or MaillogWatcher) to get the desired behavior. * Scales Out Well (Clustering). Designed to spread the work out across many, many, many servers. If your email list has 1Million subscribers, you could *reliably* send your messages to them in a matter of minutes. Add more servers, get more capacity and throughput. * Event handlers (in serial). Handle server-level events with a simple plugin. Events like server startup and shutdown, the start or end of a transmission, etc. More details to follow. HANDLING EVENTS Email::Blaster offers the following events, which can be handled by one or more subclasses of the appropriate class: server_startup Subclass Email::Blaster::ServerStartupHandler and add the following to your config: ... ... My::StartupHandler server_shutdown Subclass Email::Blaster::ServerShutdownHandler and add the following to your config: ... ... My::ShutdownHandler init_transmission Subclass Email::Blaster::TransmissionInitHandler and add the following to your config: ... ... My::TransmissionInitHandler begin_transmission Subclass Email::Blaster::TransmissionBeginHandler and add the following to your config: ... ... My::TransmissionBeginHandler end_transmission Subclass Email::Blaster::TransmissionEndHandler and add the following to your config: ... ... My::TransmissionEndHandler message_bounced Subclass Email::Blaster::MessageBouncedHandler and add the following to your config: ... ... My::MessageBouncedHandler SUPPORT Visit or email the author at Commercial support and installation is available. AUTHOR John Drago COPYRIGHT AND LICENSE Copyright (C) 2008 by John Drago This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.0 or, at your option, any later version of Perl 5 you may have available.