PRELINE(1)

πŸ“¦
version 2.0.6 Β· 3 versions
, in ubuntu stonking

πŸ’– PRELINE(1) β€” aka the glow-up your mbox headers deserve πŸ’–

okay bestie, so this is preline, and it lives in section 1 of the manual, and it was written by S. Varshavchik. and it is, no exaggeration, the little wrapper that keeps your local mail delivery from going absolutely feral. let's get into it πŸ¦‹


✨ NAME ✨

preline β€” prepend legacy mbox headers. that's it. that's the whole job. and she eats every single time πŸ’…


🌸 SYNOPSIS 🌸

/usr/bin/preline {program} [arg...]

πŸ‘‘ DESCRIPTION πŸ‘‘

okay so here's the tea. preline is a wrapper for program. she's usually invoked from $HOME/.courier. what she does is run program, along with any extra arguments you handed her on the command line. 🫢

then program gets the message that's being delivered β€” but with some additional headers sprinkled on top. and where do those extra headers come from? not from thin air, bestie. they come from the UFLINE, DTLINE, and RPLINE environment variables. 🌈

those environment variables get initialized by courierdeliver, which reads and executes commands from $HOME/.courier. and the variables hold the additional headers that should be added to every message delivered to a local mailbox. every. single. one. no skipping. ⭐

πŸ’€ real talk moment: you must use preline if program β€” the thing being executed from $HOME/.courier to deliver mail β€” does not recognize these environment variables.

so what's actually inside them?

  • UFLINE contains the From_ line πŸŽ€
  • DTLINE contains the Delivered-To: header πŸ’–
  • RPLINE contains the Return-Path: header πŸ¦‹

and if those headers aren't present in the message that program reads? oh honey. you may end up with excessive resources being consumed by mail loops, or by malfunctioning software that expects to see From_ lines in all messages scheduled for local delivery (like procmail). excessive resources, bestie. that's the villain origin story. not today. πŸ™ˆ


πŸ”₯ EXAMPLE πŸ”₯

| /usr/bin/preline /usr/bin/procmail

this is the normal way to arrange for procmail to handle local mail delivery. iconic. periodt. ✨


🌟 SEE ALSO 🌟


πŸ’œ AUTHOR πŸ’œ

Sam Varshavchik β€” Author


πŸ“ NOTES πŸ“

  1. courierpop3d(8) β†’ https://www.courier-mta.org/courierpop3d.html
  2. couriertcpd(8) β†’ https://www.courier-mta.org/couriertcpd.html
  3. authlib(7) β†’ https://www.courier-mta.org/authlib/authlib.html

and that's the whole page, bestie πŸ₯Ή this lil slice of documentation is from the Courier Mail Server, dated 01/10/2026, and it's filed under PRELINE(1). go prepend those headers, you absolute main character πŸ‘‘πŸ’–

πŸ“¦ where this page comes from
  • ubuntu stonking: courier-mta 2.0.6-1 Β· GPL-3+~with-OpenSSL-exception
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms