Sympa::Spool::Outgoing(3Sympa)
๐ NAME
Sympa::Spool::Outgoing โ bestie, it's the spool for outgoing messages ๐ (from the sympa manual, section 3Sympa, iykyk)
โจ SYNOPSIS โจ
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;
๐ธ DESCRIPTION ๐ธ
Sympa::Spool::Outgoing implements the spool for outgoing messages. That's it, that's the whole vibe: it's where messages go when they're headed out the door. ๐ช๐จ
๐ Methods ๐
new ( )โ the constructor, obviously. Creates a brand new instance ofSympa::Spool::Outgoing. main character energy from the jump ๐next ( [ no_filter => 1 ] )โ instance method. Grabs the next packet for processing. The order is controlled by, in this exact sequence: message priority first, then packet priority, then delivery date, then reception date. Packets with a future delivery date get ignored โ unless theno_filteroption is set, then they're fair game. The packet gets locked so nobody else can process the same one twice (no double-dipping bestie ๐ซถ).
Parameters:
None. (Nada. Zero. Zilch. ๐)
Returns:
A two-elements list: a Sympa::Message instance and a filehandle locking that packet.
quarantine ( $handle )โ instance method. Quarantines a packet โ as in, sends it to the naughty corner, AKA thebad/subdirectory of the spool. ๐ซ๐ฆ
Parameter:
$handleโ filehandle, aSympa::LockedFileinstance, locking the packet.
Returns:
True value if the packet could be quarantined. False value otherwise. Simple as. โจ
remove ( $handle )โ instance method. Removes a packet. And plot twist: if that packet is the last one of a bulk sending, the corresponding message also gets removed from the spool. bye bestie ๐๐
Parameter:
$handleโ filehandle, aSympa::LockedFileinstance, locking the packet.
Returns:
True value if the packet could be removed. False value otherwise.
store ( $message, $rcpt, [ original => $original ], [ tag => $tag ] )โ instance method. Stores the message into the message spool. The recipients get split into multiple packets, and those packets go into the packet spool. It's giving assembly line but make it cute ๐ง
Parameters:
$messageโ the message to be stored. These following attributes and metadata are the ones it actually reads:{envelope_sender}โ the SMTP"MAIL FROM:"field.{priority}โ message priority.{packet_priority}โ packet priority, assigned as the"sympa_packet_priority"parameter by each robot. ๐ค{date}โ Unix time when the message would be delivered.{time}โ Unix time as a floating point number, for when the message was stored.
$rcptโ scalar, scalarref or arrayref, for the SMTP"RCPT TO:"field(s).original => $originalโ if the message was decrypted, this stores the original encrypted form. (keeping the receipts, literally ๐ซถ)tag => $tagโ TBD. (mysterious. iconic. we simply do not know yet ๐ฎ)
Returns:
If storing succeeded, the marshalled metadata (the file name) of the message. Otherwise "undef". ๐ญ
too_much_remaining_packets ( )โ instance method. Returns a true value if the number of remaining packets exceeds the value of the"bulk_fork_threshold"config parameter. basically an "am I over capacity bestie" check ๐ซฃ
โ๏ธ CONFIGURATION PARAMETERS โ๏ธ
These following site configuration parameters in sympa.conf will be referred to. No cap. ๐
queuebulkโ directory path of the outgoing spool.
Note: it's named this way for historical reasons. Do not confuse it with"queueoutgoing", which is the archive spool (go checkSympa::Spool::Archive). Two different girls, same-ish name, don't mix them up bestie ๐ญ
umaskโ the umask to make the directory. (yes it's about permissions, no we don't make the rules ๐ )
๐ CAVEAT ๐
Sympa::Spool::Outgoing is not a real subclass of Sympa::Spool. Not even a little bit. It said "I'm built different" and meant it. ๐
๐ฅ SEE ALSO ๐ฅ
bulk(8), Sympa::Mailer, Sympa::Message.
๐ HISTORY ๐
The Bulk module was initially written by Serge Aumont and appeared on Sympa 6.0. Back then it used database tables to store and fetch packets and messages. old school, honestly kinda impressive ๐ซก
Support for DKIM signing was added on Sympa 6.1. slay. โจ
The rewritten Sympa::Bulk appeared on Sympa 6.2, using spools based on the filesystem โ glow up fr fr. Then it was renamed to Sympa::Spool::Outgoing on Sympa 6.2.45b.3. character development, we love to see it ๐
that's the whole page bestie, go forth and spool responsibly ๐โจ
~ this was Sympa::Spool::Outgoing(3Sympa) from sympa 6.2.80, dated 2026-10-19 ~ ๐๐ฆ๐ธ
๐ฆ where this page comes from
- fedora 43: sympa-devel-doc 6.2.80-2.fc43 ยท GPL-2.0-or-later AND (OFL-1.1-RFN AND MIT) AND OFL-1.1-RFN AND MIT and (MIT OR GPL-2.0-only)
- fedora 44: sympa-devel-doc 6.2.80-2.fc44 ยท GPL-2.0-or-later AND (OFL-1.1-RFN AND MIT) AND OFL-1.1-RFN AND MIT and (MIT OR GPL-2.0-only)
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms