From Wiki
< Email
Revision as of 19:06, 23 February 2014 by Deoren (talk | contribs) (More links)
Jump to: navigation, search


  • Explain differences between envelope and header TO/FROM addresses


  • Postfix can report errors to the postmaster and is configurable through the notify_classes parameter.
  • The always_bcc parameter can be used to archive email.
echo "Hello World"

Envelope vs Header addresses

The envelope of a message consists of the information given in the MAIL FROM and RCPT TO commands [1] , that is, the sender and recipient information that are used to deliver the message. An SMTP server pays no attention what so ever to the From, To, and Cc message headers.

  • Bounces are always sent to the envelope sender address
  • The sender address of bounce messages is the empty sender address, often called the null sender.
  • The null sender address must not be blocked.

Error conditions

In SMTP, error conditions can be either temporary or permanent. [1] Both 4 and 5 are used to signal errors. A client that receives a temporary error designated by 4 should disconnect, keep the message in the queue, and retry at a later time. Typical temporary error conditions include a full mail queue disk, a server configuration error that must be resolved before messages can be accepted, or a temporary DNS lookup error. Permanent errors are indicated by the first digit being 5 and mean that the request will never be accepted, so a client will have to remove the message from the queue and send a bounce to the sender telling him or her that the message could not be delivered.

Critial options to set

Use smtpd_delay_reject in order to collect ...

Delivery agents

  • The Postfix delivery agents are the last daemons to touch messages before they leave the email server.
  • Virtual mailbox users (users without real accounts on the system) have their messages delivered via the virtual Postfix daemon.

Indexed lookup tables

An indexed lookup table is a text file containing key/value pairs. The first part of each line, up to the first space or tab, will be taken as a lookup key and the rest of the line will be taken as the corresponding value. One drawback with indexed lookup tables is that you do have to remember to run postmap when you updated the file. This is not necessary with ldap or sql database lookups.

  • You do not have to reload or restart Postfix after updating an indexed file with postmap.

Content filtering

  • After-queue content filtering takes email, does massaging and passes back to Postfix.
  • Before-queue filter is intensive and ties up local and remote resources in order to filter email before it is allowed into the queue.


SMTP restrictions

SMTP restrictions work on envelop content, not mail content (including headers?)

A common misconception is that only restrictions on the recipient address can be placed in smtpd_recipient_restrictions, only restrictions on the sender address can be placed in smtpd_sender_restrictions, and so on but because of the default value of smtpd_delay_reject, that is not true.


Cite error: <ref> tag with name "postfix-postconf-smtpd-recipient-restrictions" defined in <references> is not used in prior text.

Official Documentation Postfix Address Classes]



Research and possibly implement