VIRTUAL(5)                                                          VIRTUAL(5)

NAME
       virtual - Postfix virtual alias table format

SYNOPSIS
       postmap /etc/postfix/virtual

       postmap -q "string" /etc/postfix/virtual

       postmap -q - /etc/postfix/virtual <inputfile

DESCRIPTION
       The  optional  virtual(5)  alias  table rewrites recipient
       addresses for all local, all virtual, and all remote  mail
       destinations.   This  is unlike the aliases(5) table which
       is used only for local(8) delivery.  Virtual  aliasing  is
       recursive,  and  is  implemented by the Postfix cleanup(8)
       daemon before mail is queued.

       The main applications of virtual aliasing are:

       o      To redirect mail for one address  to  one  or  more
              addresses.

       o      To   implement  virtual  alias  domains  where  all
              addresses  are  aliased  to  addresses   in   other
              domains.

              Virtual  alias  domains are not to be confused with
              the virtual mailbox domains  that  are  implemented
              with  the  Postfix  virtual(8) mail delivery agent.
              With  virtual  mailbox  domains,   each   recipient
              address can have its own mailbox.

       Virtual  aliasing  is  applied  only to recipient envelope
       addresses, and  does  not  affect  message  headers.   Use
       canonical(5)   mapping  to  rewrite  header  and  envelope
       addresses in general.

       Normally, the virtual(5) alias table  is  specified  as  a
       text  file that serves as input to the postmap(1) command.
       The result, an indexed file in dbm or db format,  is  used
       for fast searching by the mail system. Execute the command
       "postmap /etc/postfix/virtual" in  order  to  redefault: no) 

    

if Postfix sends one bounce report for multi-recipient VERP mail, or one bounce report per recipient. The default, one per recipient, is what ezmlm needs.

Using VERP with majordomo etc. mailing lists

In order to make VERP useful with majordomo etc. mailing lists, you would configure the list manager to submit mail according to one of the following two forms:

Postfix 2.3 and later:

% sendmail -XV -f owner-listname other-arguments...

% sendmail -XV+= -f owner-listname other-arguments...

Postfix 2.2 and earlier (Postfix 2.3 understands the old syntax for backwards compatibility, but will log a warning that reminds you of the new syntax):

% sendmail -V -f owner-listname other-arguments...

% sendmail -V+= -f owner-listname other-arguments...

The first form uses the default main.cf VERP delimiter characters. The second form allows you to explicitly specify the VERP delimiter characters. The example shows the recommended values.

This text assumes that you have set up an owner-listname alias that routes undeliverable mail to a real person:

/etc/aliases:
    owner-listname: yourname+listname

In order to process bounces we are going to make extensive use of address extension tricks.

You need to tell Postfix that + is the separator between an address and its optional address extension, that address extensions are appended to .forward file names, and that address extensions are to be discarded when doing alias expansions:

/etc/postfix/main.cf:
    recipient_delimiter = +
    forward_path = $home/.forward${recipient_delimiter}${extension},
        $home/.forward
    propagate_unmatched_extensions = canonical, virtual

(the last two parameter settings are default settings).

You need to set up a file named .forward+listname with the commands that process all the mail that is sent to the owner-listname address:

~/.forward+listname:
    "|/some/where/command ..."

With this set up, undeliverable mail for user@domain will be returned to the following address:

owner-listname+user=domain@your.domain

which is processed by the command in your .forward+listname file. The message should contain, among others, a To: header with the encapsulated recipient sender address:

To: owner-listname+user=domain@your.domain

It is left as an exercise for the reader to parse the To: header line and to pull out the user=domain part from the recipient address.

VERP support in the Postfix SMTP server

The Postfix SMTP server implements a command XVERP to enable VERP style delivery. The syntax allows two forms:

MAIL FROM:<sender@domain> XVERP

MAIL FROM:<sender@domain> XVERP=+=

The first form uses the default main.cf VERP delimiters, the second form overrides them explicitly. The values shown are the recommended ones.

VERP support in the Postfix sendmail command

The Postfix sendmail command has a -V flag to request VERP style delivery. Specify one of the following two forms:

Postfix 2.3 and later:

% sendmail -XV -f owner-listname ....

% sendmail -XV+= -f owner-listname ....

Postfix 2.2 and earlier (Postfix 2.3 understands the old syntax for backwards compatibility, but will log a warning that reminds you of the new syntax):

% sendmail -V -f owner-listname ....

% sendmail -V+= -f owner-listname ....

The first form uses the default main.cf VERP delimiters, the second form overrides them explicitly. The values shown are the recommended ones.

VERP support in the Postfix QMQP server

When the Postfix QMQP server receives mail with an envelope sender address of the form:

listname-@your.domain-@[]

Postfix generates sender addresses "listname-user=domain@your.domain", using "-=" as the VERP delimiters because qmail/ezmlm expect this.

More generally, a sender address of "prefix@origin-@[]" requests VERP style delivery with sender addresses of the form "prefixuser=domain@origin". However, Postfix allows only VERP delimiters that are specified with the verp_delimiter_filter parameter. In particular, the "=" delimiter is required for qmail compatibility (see the qmail addresses(5) manual page for details). ./usr/share/doc/postfix/html/error.8.html0000644000000000000000000001511311052457636017230 0ustar rootroot Postfix manual - error(8)

ERROR(8)                                                              ERROR(8)

NAME
       error - Postfix error mail delivery agent

SYNOPSIS
       error [generic Postfix daemon options]

DESCRIPTION
       The  Postfix  error(8)  delivery  agent processes delivery
       requests from the queue manager. Each request specifies  a
       queue  file,  a sender address, a domain or host name that
       is treated as the reason for non-delivery,  and  recipient
       information.   The  reason  may  be  prefixed  with an RFC
       3463-compatible detail code.  This program expects  to  be
       run from the master(8) process manager.

       The  error(8) delivery agent bounces all recipients in the
       delivery request  using  the  "next-hop"  domain  or  host
       information  as  the  reason for non-delivery, updates the
       queue file and marks recipients as finished or informs the
       queue  manager  that  delivery  should be tried again at a
       later time.

       Delivery  status  reports  are  sent  to  the   bounce(8),
       defer(8) or trace(8) daemon as appropriate.

SECURITY
       The error(8) mailer is not security-sensitive. It does not
       talk to the network, and can be run chrooted at fixed  low
       privilege.

STANDARDS
       RFC 3463 (Enhanced Status Codes)

DIAGNOSTICS
       Problems and transactions are logged to syslogd(8).

       Depending  on the setting of the notify_classes parameter,
       the postmaster is notified of bounces and of  other  trou-
       ble.

CONFIGURATION PARAMETERS
       Changes to main.cf are picked up automatically as error(8)
       processes run for only a limited amount of time.  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.

       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 sub-second 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 the next service request
              before exiting.

       max_use (100)
              The maximal number of connection requests before  a
              Postfix daemon process terminates.

       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  direc-
              tory.

       syslog_facility (mail)
              The syslog facility of Postfix logging.

       syslog_name (postfix)
              The  mail  system  name  that  is  prepended to the
              process name in syslog  records,  so  that  "smtpd"
              becomes, for example, "postfix/smtpd".

SEE ALSO
       qmgr(8), queue manager
       bounce(8), delivery status reports
       discard(8), Postfix discard delivery agent
       postconf(5), configuration parameters
       master(5), generic daemon options
       master(8), process manager
       syslogd(8), system logging

LICENSE
       The  Secure  Mailer  license must be distributed with this
       software.

AUTHOR(S)
       Wietse Venema
       IBM T.J. Watson Research
       P.O. Box 704
       Yorktown Height