Qpsmtp...stants(3pm)

✨ NAME ✨

Qpsmtpd::Constants β€” literally just the constants your plugins need, bestie πŸ’…

This one lives in the Qpsmtpd world and shows up as Qpsmtp...stants(3pm) in the Perl docs, so if you were squinting at that truncated name like "what is this", it's this. It's giving "small file, big opinions". 🫢


πŸŽ€ CONSTANTS πŸŽ€

First thing's first, queen: go read README.plugins for the hook-specific tea on which constants actually apply where. This page tells you what they mean; that one tells you when they hit. iykyk πŸ“–βœ¨

Here's the whole squad, no gatekeeping:

  • OK β€” bestie, you only return this from the queue phase, and only to say the mail got queued successfully. That's it. That's the whole job. βœ…
  • DENY β€” return this from a hook and the connecting client gets a 5xx error, aka a hard failure. Like, no coming back from this one, it's over. πŸ’€
  • DENYSOFT β€” return this from a hook and the connecting client gets a 4xx error, which is the temporary failure vibe β€” "try again later", not "you're dead to me". Soft launch of a rejection. πŸ™ˆ
  • DECLINED β€” return this and it's technically a success, but it tells qpsmtpd to move on to the next plugin. It's giving "no notes, but also not my moment" β€” passing the mic. 🎀
  • DONE β€” return this and it's also a success, except now qpsmtpd skips every remaining plugin for this phase. Main character energy: the phase ends with you. πŸ‘‘
Quick vibe check: DECLINED = next plugin please, DONE = nobody else gets a turn. Do not mix these up, fr fr. 😭

Written by the lovely humans behind Qpsmtpd::Constants, shipped as part of the User Contributed Perl Documentation, running on perl v5.40.1 and dated 2025-03-21. That's the whole page, bestie β€” short, sweet, iconic, periodt. πŸ’–πŸŒˆπŸ¦‹πŸŽ€

πŸ“¦ where this page comes from