ERROR(8)

πŸ’– ERROR(8) β€” the Postfix error/retry mail delivery agent πŸ’–

okay bestie, welcome to the error(8) page, straight out of the System Manager's Manual β€” yeah it's section 8, we're in daemon territory, buckle up πŸŽ€


✨ NAME ✨

error β€” the Postfix error/retry mail delivery agent. that's it, that's the icon. πŸ‘‘


✨ SYNOPSIS ✨

error [generic Postfix daemon options]

✨ DESCRIPTION ✨

so like, the Postfix error(8) delivery agent handles delivery requests coming in from the queue manager. every single request is packing a queue file, a sender address, the reason for non-delivery (which arrives as the next-hop destination, cute), plus recipient info. πŸ¦‹

here's the tea on that reason: it can have an RFC 3463-compatible detail code prefixed onto it, and if nobody bothered to specify one? you get a default 4.0.0 or 5.0.0 code instead. no cap. and this program expects to be launched from the master(8) process manager β€” that's its whole origin story.

depending on the service name in master.cf β€” so, error or retry β€” the server will either bounce or defer all the recipients in the delivery request, using the "next-hop" information as the reason for non-delivery. the retry service name is supported as of Postfix 2.4. ✨

delivery status reports get sent to the bounce(8), defer(8) or trace(8) daemon, whichever is the appropriate one for the job. πŸ’…


πŸ”’ SECURITY πŸ”’

ngl the error(8) mailer is not security-sensitive. it doesn't talk to the network at all, and it can be run chrooted at fixed low privilege. lowkey the safest little guy in the whole mail system 🫢


πŸ“œ STANDARDS πŸ“œ

RFC 3463 (Enhanced Status Codes)


🩺 DIAGNOSTICS 🩺

problems and transactions get logged to syslogd(8) or postlogd(8). that's the paper trail bestie, keep it. πŸ’œ

and depending on how you've got the notify_classes parameter set, the postmaster gets notified about bounces and about other trouble. so if something's messy, they're gonna hear about it. πŸ™ˆ


βš™οΈ CONFIGURATION PARAMETERS βš™οΈ

changes to main.cf are picked up automatically, because error(8) processes only run for a limited amount of time anyway. want the change to hit faster? run postfix reload. iconic. ✨

the text below is only a parameter summary, so for more details including examples, go see postconf(5).

  • 2bounce_notice_recipient (postmaster) β€” the recipient of undeliverable mail that cannot be returned to the sender.
  • bounce_notice_recipient (postmaster) β€” the recipient of postmaster notifications with the message headers of mail that Postfix did not deliver, and of SMTP conversation transcripts of mail that Postfix did not receive.
  • config_directory (see postconf -d output) β€” the default location of the Postfix main.cf and master.cf configuration files.
  • daemon_timeout (18000s) β€” how much time a Postfix daemon process may take to handle a request before it is terminated by a built-in watchdog timer.
  • delay_logging_resolution_limit (2) β€” the maximal number of digits after the decimal point when logging delay values.
  • double_bounce_sender (double-bounce) β€” the sender address of postmaster notifications that are generated by the mail system.
  • ipc_timeout (3600s) β€” the time limit for sending or receiving information over an internal communication channel.
  • max_idle (100s) β€” the maximum amount of time that an idle Postfix daemon process waits for an incoming connection before terminating voluntarily.
  • max_use (100) β€” the maximal number of incoming connections that a Postfix daemon process will service before terminating voluntarily.
  • notify_classes (resource, software) β€” the list of error classes that are reported to the postmaster.
  • process_id (read-only) β€” the process ID of a Postfix command or daemon process.
  • process_name (read-only) β€” the process name of a Postfix command or daemon process.
  • queue_directory (see postconf -d output) β€” the location of the Postfix top-level queue directory.
  • syslog_facility (mail) β€” the syslog facility of Postfix logging.
  • syslog_name (see postconf -d output) β€” a prefix that is prepended to the process name in syslog records, so that, for example, "smtpd" becomes "prefix/smtpd".

available in Postfix 3.3 and later: 🌈

  • service_name (read-only) β€” the master.cf service name of a Postfix daemon process.

πŸ‘€ SEE ALSO πŸ‘€


πŸ“„ LICENSE πŸ“„

the Secure Mailer license must be distributed with this software. yeah, legally required, don't skip it πŸ’…


πŸ’Œ AUTHOR(S) πŸ’Œ

Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA

Wietse Venema Google, Inc. 111 8th Avenue New York, NY 10011, USA


and that's the whole page bestie 🫢 this was ERROR(8), out of the System Manager's Manual β€” go forth, bounce and defer responsibly, and remember: read the RFC. periodt. πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from