Sympa::Spi...ormOutgoing(3Sympa)

πŸ’– Sympa::Spindle::TransformOutgoing πŸ’–

okay bestie, so this is a page from the sympa manual, section 3Sympa β€” it's the Sympa::Spindle::TransformOutgoing page and it is lowkey one of the most important glow-up artists in the whole workflow. ✨


πŸ¦‹ NAME πŸ¦‹

Sympa::Spindle::TransformOutgoing β€” the Process to transform messages β€” second stage, queen. πŸ‘‘


🌸 DESCRIPTION 🌸

So this class runs the second stage of message transformation before stuff gets sent out to the list. It lives right after messages get stashed into the archive spool (peep Sympa::Spindle::DistributeMessage for that part, iykyk).

The transformation glow-ups happen in this exact order, no skipping, periodt:

  • It runs the "post_archive" hook of message hooks β€” but only if available.
  • It adds / modifies the "Reply-To" header field, but only if the "reply_to_header" list option is enabled. πŸ’…
  • It adds / overwrites these header fields, iconic lineup fr fr:
    • "X-Loop"
    • "X-Sequence"
    • "Errors-To"
    • "Precedence"
    • "Sender"
    • "X-no-archive"
  • It adds header fields specified by the "custom_header" list configuration parameter β€” if there are any, that is.
  • It adds the RFC 2919 "List-Id" field, the RFC 2369 fields (according to the "rfc2369_header_fields" list configuration option) and the RFC 5064 "Archived-At" field (that last one only if archiving is enabled).
  • It removes header fields specified by the "remove_outgoing_headers" list configuration parameter β€” if any are listed, obviously. 🧚

Then, once all that is done, this class hands the message off to the last stage of transformation, Sympa::Spindle::ToList. And that's the vibe check passed. 🫢


πŸ’€ CAVEAT πŸ’€

  • ngl bestie, this is the scary one: transformation by this class can break integrity of DKIM signature, because some header fields may be removed according to the "remove_outgoing_headers" list configuration parameter. 😭 So like… careful with that one, okay?

πŸ”₯ SEE ALSO πŸ”₯

  • Sympa::Internals::Workflow.
  • Sympa::Message, Sympa::Message::Plugin, Sympa::Spindle, Sympa::Spindle::DistributeMessage.

🌈 HISTORY 🌈

  • Sympa::Spindle::TransformOutgoing appeared on Sympa 6.2.13. that's the origin story, no cap. ⭐

and that's the whole page, bestie!! it's from the sympa manual, version 6.2.80, dated 2026-10-19 β€” mwah πŸ’‹ go slay some message transformation πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from