Spamzilla Documentation

The Mailer Service Component

The mailer service component is the portion of spamzilla that actually sends email. Functionally, this is simply a plugin to spamzilla (funny how that works).

Configuration

        <component type="POE" name="Mailer"
            xmlns:mailer="http://www.blisted.org/spamzilla/component/mailer">

            <mailer:default email="tag@cpan.org" name="Scott S. McCoy"/>

            <mailer:threads value="80"/>
            <!-- grab 200 targets a shot, ask for more when we have 10 left -->
            <mailer:enqueue size="200" threshold="10"/>
            <mailer:bind ip="192.168.15.101"
                  host="asus"
                  email="tag@blisted.org"
                  name="Scott S. McCoy" />
        </component>

The configuration must be placed inside a "service" configuration directive, and as a direct descendant to it. Currently the default directive is ignored.

threads

This is the number of threads (at this time functional, not physical) of operation. A value of 80 is typically sufficient as the mailer is at this time not very efficient. threads are actually only concurrent attempts to send email. So once 80 simultanious attempts are processing, the mailer service will no wait for one of the current attempts to complete (either successfully or by failure) before it tries to send more mail.

enqueue

This describes the database dequeuing. Essentially, it tails the mailer when to ask the database for more targets to mail to. With a size value of 200, it will grab lists of 200 whenever the threshold is met. The local queue email count at which to ask for more emails. With a threshold of 10, when there are only 10 out of the last 200 emails asked for, it will request 200 more emails (So as not to block processing, as the dequeing request is asynchronous.

bind

This tells the mailer to bind a specific IP. There may be multiple bind directives, each one describing a different address the Mailer component will use to send email. The ip attribute should hold the actual address in IPv4 string notation. The host attribute is the value used during the HELO portion of an SMTP handshake. The email and name attributes are currently deprecated, but required. You may fill any random garbage in these lines. See ticket #24.

Service Methods

startCampaign

sendMessage