Sympa::Spool::Outgoing - Spool for outgoing messages
use Sympa::Spool::Outgoing;
my $bulk = Sympa::Spool::Outgoing->new;
$bulk->store($message, ['user@dom.ain', 'user@other.dom.ain']);
my ($message, $handle) = $bulk->next;
Sympa::Spool::Outgoing implements the spool for outgoing messages.
- new ( )
- Constructor. Creates new instance of Sympa::Spool::Outgoing.
- next ( [ no_filter => 1 ] )
- Instance method. Gets next packet to process, order is controlled
by message priority, then by packet priority, then by delivery date, then
by reception date. Packets with future delivery date are ignored (if
"no_filter" option is not set).
Packet will be locked to prevent multiple processing of a single packet.
Parameters:
None.
Returns:
Two-elements list of Sympa::Message instance and filehandle
locking a packet.
- quarantine ( $handle )
- Instance method. Quarantines a packet. Packet will be moved into
bad/ subdirectory of the spool.
Parameter:
- $handle
- Filehandle, Sympa::LockedFile instance, locking packet.
Returns:
True value if packet could be quarantined. Otherwise false
value.
- remove ( $handle )
- Instance method. Removes a packet. If the packet is the last one of
bulk sending, corresponding message will also be removed from spool.
Parameter:
- $handle
- Filehandle, Sympa::LockedFile instance, locking packet.
Returns:
True value if packet could be removed. Otherwise false value.
- store ( $message, $rcpt, [ original => $original ], [ tag => $tag ]
)
- Instance method. Stores the message into message spool. Recipients
will be split into multiple packets and stored into packet spool.
Parameters:
- $message
- Message to be stored. Following attributes and metadata are referred:
- {envelope_sender}
- SMTP "MAIL FROM:" field.
- {priority}
- Message priority.
- {packet_priority}
- Packet priority, assigned as
"sympa_packet_priority" parameter by
each robot.
- {date}
- Unix time when the message would be delivered.
- {time}
- Unix time in floating point number when the message was stored.
- $rcpt
- Scalar, scalarref or arrayref, for SMTP "RCPT TO:"
field(s).
- original => $original
- If the message was decrypted, stores original encrypted form.
- tag => $tag
- TBD.
Returns:
If storing succeeded, marshalled metadata (file name) of the
message. Otherwise "undef".
- too_much_remaining_packets ( )
- Instance method. Returns true value if the number of remaining
packets exceeds the value of the
"bulk_fork_threshold" config
parameter.
Following site configuration parameters in sympa.conf will be referred.
- queuebulk
- Directory path of outgoing spool.
Note: Named such by historical reason. Don't confuse with
"queueoutgoing" for archive spool (see
Sympa::Spool::Archive).
- umask
- The umask to make directory.
Sympa::Spool::Outgoing is not a real subsclass of Sympa::Spool.
bulk(8), Sympa::Mailer, Sympa::Message.
Bulk module initially written by Serge Aumont appeared on Sympa 6.0. It used
database tables to store and fetch packets and messages.
Support for DKIM signing was added on Sympa 6.1.
Rewritten Sympa::Bulk appeared on Sympa 6.2, using spools based on
filesystem. It was renamed to Sympa::Spool::Outgoing on Sympa 6.2.45b.3.