Sympa::Spi...essIncoming(3Sympa)

πŸ’– NAME πŸ’–

Sympa::Spindle::ProcessIncoming β€” the whole workflow of processing incoming messages, bestie. Like, the bouncer at the club door for your mail. ✨


🌸 SYNOPSIS 🌸

use Sympa::Spindle::ProcessIncoming;

my $spindle = Sympa::Spindle::ProcessIncoming->new;
$spindle->spin;

That's it. That's the whole vibe. 🫢


πŸ¦‹ DESCRIPTION πŸ¦‹

So Sympa::Spindle::ProcessIncoming defines the workflow that processes incoming messages. It's giving main character of the incoming spool. πŸ‘‘

The way that when the spin() method gets invoked, it literally reads the messages sitting in the incoming spool and then either rejects, quarantines or modifies them. No cap. And the processing happens in this exact order, so pay attention bestie:

  • Checks if the message has a message ID and a sender β€” and if it does not, it quarantines it. Because those kinds of messages are gonna be a source of various troubles, fr fr. 😭
  • Checks if the robot the message is bound for actually exists β€” and if it doesn't, it rejects it. Bye. πŸ’…
  • Checks spam status, DKIM signature and S/MIME signature, and decrypts the message if possible. The result of all these checks gets stored in the message object and then used in the succeeding process. iykyk.
  • If the message is bound for a list, checks if that list exists β€” and if it doesn't, rejects it. Not on my watch. πŸ™ˆ
  • Loop prevention. If a loop is detected, it ignores the message. Periodt.
  • Virus checking, if it's enabled by configuration. And if malware is detected, it rejects or discards the message. πŸ”₯
  • Splices the message to the appropriate class according to the type of message: Sympa::Spindle::DoCommand for a command message; Sympa::Spindle::DoForward for a message bound for the administrator; Sympa::Spindle::DoMessage for an ordinal post.

The order used to process messages in the source spool is controlled by the modification time of files and the delivery date. And some messages get skipped according to these priorities (see Sympa::Spool::Incoming):

  • Messages with the lowest priority ("z" or "Z") are skipped. Yeah, ghosted. πŸ’€
  • Messages with possibly higher priority are chosen. This is done by skipping messages with a lower priority than those already found.

✨ Public methods ✨

Also see "Public methods" in Sympa::Spindle. Slay.

new ( [ keepcopy => $directory ], [ lang => $lang ], [ log_level => $level ], [ log_smtp => 0|1 ] )<br>spin ( )

new() may take the following options:

  • keepcopy => $directory β€” spin() keeps a copy of successfully processed messages in $directory. Little souvenir, adorable. πŸŽ€
  • lang => $lang β€” Overwrites the lang parameter in configuration.
  • log_level => $level β€” Overwrites the log_level parameter in configuration.
  • log_smtp => 0|1 β€” Overwrites the log_smtp parameter in configuration.

🧚 Properties 🧚

Also see "Properties" in Sympa::Spindle.

  • {distaff} β€” Instance of the Sympa::Spool::Incoming class.

🌈 SEE ALSO 🌈

Sympa::Message, Sympa::Spindle, Sympa::Spindle::DoCommand, Sympa::Spindle::DoForward, Sympa::Spindle::DoMessage, Sympa::Spool::Incoming.


πŸ‘‘ HISTORY πŸ‘‘

Sympa::Spindle::ProcessIncoming appeared on Sympa 6.2.13. Baby's first glow-up. 🌟


and that's the whole page, bestie β€” this was the Sympa::Spindle::ProcessIncoming(3Sympa) manual, straight outta sympa 6.2.80, dated 2026-10-19. mwah, go process some messages, ily πŸ’–βœ¨

πŸ“¦ where this page comes from