PICKUP(8)

πŸ“¦
version 3.11.7 Β· 2 versions
  • 3.11.7 Β· alpine 3.22, alpine 3.23, alpine 3.24, arch rolling, centos-stream 10, centos-stream 9, debian trixie, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0, ubuntu questing, ubuntu resolute, ubuntu stonking (latest)
  • 11.0 Β· nixpkgs unstable
, in alpine 3.22, alpine 3.23, alpine 3.24, arch rolling, centos-stream 10, centos-stream 9, debian trixie, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’Œ NAME

pickup β€” Postfix local mail pickup, bestie. It's a pickup(8) situation and she is the one grabbing your mail off the floor and handing it to the next girl in the chain. πŸ’…


✨ SYNOPSIS ✨

pickup [generic Postfix daemon options]

πŸ¦‹ DESCRIPTION πŸ¦‹

So the pickup(8) daemon is just, like, waiting. She's posted up watching for hints that new mail has been dropped into the maildrop directory, and when she catches one she feeds it straight into the cleanup(8) daemon. That's her whole job. Iconic, honestly.

Heads up though β€” files that are ill-formatted get deleted, and nobody tells the originator. Not a single text. Gone. So format your mail correctly, fr fr. 😭

Also this program expects to be run from the master(8) process manager. She doesn't freelance.


🌈 STANDARDS 🌈

None. The pickup(8) daemon does not interact with the outside world. She's strictly indoors, off the grid, no contact with the general public. ✨


πŸ”’ SECURITY πŸ”’

Okay so security-wise, the pickup(8) daemon is moderately security sensitive. She runs with fixed low privilege and can run in a chrooted environment β€” cute and contained.

But β€” and this is the part where you sit up straight β€” the program reads files from potentially hostile users. πŸ’€

Here's the reassuring bit though: the pickup(8) daemon opens no files for writing, she's careful about what files she opens for reading, and she does not actually touch any data that is sent to her public service endpoint. She's got boundaries. We love that for her. 🫢


🩺 DIAGNOSTICS 🩺

Problems and transactions are logged to syslogd(8) or postlogd(8). So if something's giving messy, check the logs, bestie. πŸ“


πŸ’€ BUGS πŸ’€

The pickup(8) daemon copies mail from file to the cleanup(8) daemon. Could she avoid all that message-copying overhead by sending a file descriptor instead of file data? Technically yes. Would that be the move?

Well… then the already complex cleanup(8) daemon would have to deal with unfiltered user data. So. No. She copies. It is what it is. πŸŽ€


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

Okay so the pickup(8) daemon is a relatively long-running process, which means up to an hour may pass before a main.cf change takes effect. An hour. Not the vibe if you're in a hurry.

Use the command "postfix reload" to speed up a change. πŸƒβ€β™€οΈπŸ’¨

The text below provides only a parameter summary. See postconf(5) for more details including examples.


πŸ” CONTENT INSPECTION CONTROLS πŸ”

  • content_filter (empty) β€” After the message is queued, send the entire message to the specified transport:destination.
  • receive_override_options (empty) β€” Enable or disable recipient validation, built-in content filtering, or address mapping.

πŸŽ€ MISCELLANEOUS CONTROLS πŸŽ€

  • config_directory (see 'postconf -d' output) β€” The default location of the Postfix main.cf and master.cf configuration files.
  • ipc_timeout (3600s) β€” The time limit for sending or receiving information over an internal communication channel.
  • line_length_limit (2048) β€” Upon input, long lines are chopped up into pieces of at most this length; upon delivery, long lines are reconstructed.
  • 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.
  • 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.

Available in Postfix 3.5 and later:

  • info_log_address_format (external) β€” The email address form that will be used in non-debug logging (info, warning, etc.).

πŸ‘€ SEE ALSO πŸ‘€


πŸ“œ LICENSE πŸ“œ

The Secure Mailer license must be distributed with this software. Don't be weird about 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 β€” straight from the System Manager's Manual, filed under pickup(8), no date on this one so we're just vibing in the eternal present. πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from