Home | History | Annotate | Line # | Download | only in proto
ADDRESS_CLASS_README.html revision 1.1
      1  1.1  tron <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"
      2  1.1  tron         "http://www.w3.org/TR/html4/loose.dtd">
      3  1.1  tron 
      4  1.1  tron <html>
      5  1.1  tron 
      6  1.1  tron <head>
      7  1.1  tron 
      8  1.1  tron <title>Postfix Address Classes </title>
      9  1.1  tron 
     10  1.1  tron <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
     11  1.1  tron 
     12  1.1  tron </head>
     13  1.1  tron 
     14  1.1  tron <body>
     15  1.1  tron 
     16  1.1  tron <h1><img src="postfix-logo.jpg" width="203" height="98" ALT="">Postfix Address Classes </h1>
     17  1.1  tron 
     18  1.1  tron <hr>
     19  1.1  tron 
     20  1.1  tron <h2>Introduction</h2>
     21  1.1  tron 
     22  1.1  tron <p> Postfix version 2.0 introduces the concept of address classes.
     23  1.1  tron This is a way of grouping recipient addresses by their delivery
     24  1.1  tron method.  The idea comes from discussions with Victor Duchovni.
     25  1.1  tron Although address classes introduced a few incompatibilities they
     26  1.1  tron also made it possible to improve the handling of hosted domains
     27  1.1  tron and of unknown recipients. </p>
     28  1.1  tron 
     29  1.1  tron <p> This document provides information on the following topics: </p>
     30  1.1  tron 
     31  1.1  tron <ul>
     32  1.1  tron 
     33  1.1  tron <li><a href="#wtf">What are address classes good for?</a>
     34  1.1  tron 
     35  1.1  tron <li><a href="#classes">What address classes does Postfix implement?</a>
     36  1.1  tron 
     37  1.1  tron <li><a href="#improvements">Improvements compared to Postfix 1.1</a>
     38  1.1  tron 
     39  1.1  tron <li><a href="#incompatibility">Incompatibilities with Postfix 1.1</a>
     40  1.1  tron 
     41  1.1  tron </ul>
     42  1.1  tron 
     43  1.1  tron <h2><a name="wtf">What are address classes good for?</a></h2>
     44  1.1  tron 
     45  1.1  tron <p> Why should you care about address classes? This is how Postfix
     46  1.1  tron decides what mail to accept, and how to deliver it.  In other words,
     47  1.1  tron address classes are very important for the operation of Postfix. </p>
     48  1.1  tron 
     49  1.1  tron <p> An address class is defined by three items. </p>
     50  1.1  tron 
     51  1.1  tron <ul>
     52  1.1  tron 
     53  1.1  tron <li> <p> The list of domains that are a member of the class: for
     54  1.1  tron example, all local domains, or all relay domains. </p>
     55  1.1  tron 
     56  1.1  tron <li> <p> The default delivery transport. For example, the local,
     57  1.1  tron virtual or relay delivery transport (delivery transports are defined
     58  1.1  tron in master.cf). This helps to keep Postfix configurations simple,
     59  1.1  tron by avoiding the need for explicit routing information in transport
     60  1.1  tron maps. </p>
     61  1.1  tron 
     62  1.1  tron <li> <p> The list of valid recipient addresses for that address
     63  1.1  tron class. The Postfix SMTP server rejects invalid recipients with
     64  1.1  tron "User unknown in &lt;name of address class here&gt; table".  This
     65  1.1  tron helps to keep the Postfix queue free of undeliverable MAILER-DAEMON
     66  1.1  tron messages. </p>
     67  1.1  tron 
     68  1.1  tron </ul>
     69  1.1  tron 
     70  1.1  tron <h2><a name="classes">What address classes does Postfix implement?</a></h2>
     71  1.1  tron 
     72  1.1  tron <p> Initially the list of address classes is hard coded, but this
     73  1.1  tron is meant to become extensible. The summary below describes the main
     74  1.1  tron purpose of each class, and what the relevant configuration parameters
     75  1.1  tron are. </p>
     76  1.1  tron 
     77  1.1  tron <p> The <a name="local_domain_class">local </a> domain class. </p>
     78  1.1  tron 
     79  1.1  tron <ul>
     80  1.1  tron 
     81  1.1  tron <li> <p> Purpose: final delivery for traditional UNIX system accounts
     82  1.1  tron and traditional Sendmail-style aliases. This is typically used for
     83  1.1  tron the canonical domains of the machine.  For a discussion of the
     84  1.1  tron difference between canonical domains, hosted domains and other
     85  1.1  tron domains, see the VIRTUAL_README file. </p>
     86  1.1  tron 
     87  1.1  tron <li> <p> Domain names are listed with the mydestination parameter.
     88  1.1  tron This domain class also includes mail for <i>user@[ipaddress]</i>
     89  1.1  tron when the IP address is listed with the inet_interfaces or
     90  1.1  tron proxy_interfaces parameters. </p>
     91  1.1  tron 
     92  1.1  tron <li> <p> Valid recipient addresses are listed with the local_recipient_maps
     93  1.1  tron parameter, as described in LOCAL_RECIPIENT_README. The Postfix SMTP
     94  1.1  tron server rejects invalid recipients with "User unknown in local
     95  1.1  tron recipient table". If the local_recipient_maps parameter value is
     96  1.1  tron empty, then the Postfix SMTP server accepts any address in the
     97  1.1  tron local domain class. </p>
     98  1.1  tron 
     99  1.1  tron <li> <p> The mail delivery transport is specified with the
    100  1.1  tron local_transport parameter. The default value is <b>local:$myhostname</b>
    101  1.1  tron for delivery with the local(8) delivery agent. </p>
    102  1.1  tron 
    103  1.1  tron </ul>
    104  1.1  tron 
    105  1.1  tron <p> The <a name="virtual_alias_class">virtual alias </a> domain
    106  1.1  tron class. </p>
    107  1.1  tron 
    108  1.1  tron <ul>
    109  1.1  tron 
    110  1.1  tron <li> <p> Purpose: hosted domains where each recipient address is
    111  1.1  tron aliased to a local UNIX system account or to a remote address.  A
    112  1.1  tron virtual alias example is given in the VIRTUAL_README file. </p>
    113  1.1  tron 
    114  1.1  tron <li> <p> Domain names are listed in virtual_alias_domains. The
    115  1.1  tron default value is $virtual_alias_maps for Postfix 1.1 compatibility.
    116  1.1  tron </p>
    117  1.1  tron 
    118  1.1  tron <li> <p> Valid recipient addresses are listed with the virtual_alias_maps
    119  1.1  tron parameter. The Postfix SMTP server rejects invalid recipients with
    120  1.1  tron "User unknown in virtual alias table".  The default value is
    121  1.1  tron $virtual_maps for Postfix 1.1 compatibility. </p>
    122  1.1  tron 
    123  1.1  tron <li> <p> There is no mail delivery transport parameter. Every
    124  1.1  tron address must be aliased to some other address. </p>
    125  1.1  tron 
    126  1.1  tron </ul>
    127  1.1  tron 
    128  1.1  tron <p> The <a name="virtual_mailbox_class">virtual mailbox </a> domain
    129  1.1  tron class. </p>
    130  1.1  tron 
    131  1.1  tron <ul>
    132  1.1  tron 
    133  1.1  tron <li> <p> Purpose: final delivery for hosted domains where each
    134  1.1  tron recipient address can have its own mailbox, and where users do not
    135  1.1  tron need to have a UNIX system account.  A virtual mailbox example is
    136  1.1  tron given in the VIRTUAL_README file. </p>
    137  1.1  tron 
    138  1.1  tron <li> <p> Domain names are listed with the virtual_mailbox_domains
    139  1.1  tron parameter. The default value is $virtual_mailbox_maps for Postfix
    140  1.1  tron 1.1 compatibility. </p>
    141  1.1  tron 
    142  1.1  tron <li> <p> Valid recipient addresses are listed with the virtual_mailbox_maps
    143  1.1  tron parameter. The Postfix SMTP server rejects invalid recipients with
    144  1.1  tron "User unknown in virtual mailbox table". If this parameter value
    145  1.1  tron is empty, the Postfix SMTP server accepts all recipients for domains
    146  1.1  tron listed in $virtual_mailbox_domains.  </p>
    147  1.1  tron 
    148  1.1  tron <li> <p> The mail delivery transport is specified with the
    149  1.1  tron virtual_transport parameter. The default value is <b>virtual</b>
    150  1.1  tron for delivery with the virtual(8) delivery agent. </p>
    151  1.1  tron 
    152  1.1  tron </ul>
    153  1.1  tron 
    154  1.1  tron <p> The <a name="relay_domain_class">relay </a> domain class. </p>
    155  1.1  tron 
    156  1.1  tron <ul>
    157  1.1  tron 
    158  1.1  tron <li> <p> Purpose: mail forwarding to remote destinations that list
    159  1.1  tron your system as primary or backup MX host. For a discussion of the
    160  1.1  tron basic configuration details, see the BASIC_CONFIGURATION_README
    161  1.1  tron document.  For a discussion of the difference between canonical
    162  1.1  tron domains, hosted domains and other domains, see the VIRTUAL_README
    163  1.1  tron file. </p>
    164  1.1  tron 
    165  1.1  tron <li> <p> Domain names are listed with the relay_domains parameter.
    166  1.1  tron </p>
    167  1.1  tron 
    168  1.1  tron <li> <p> Valid recipient addresses are listed with the relay_recipient_maps
    169  1.1  tron parameter. The Postfix SMTP server rejects invalid recipients with
    170  1.1  tron "User unknown in relay recipient table". If this parameter value
    171  1.1  tron is empty, the Postfix SMTP server accepts all recipients for domains
    172  1.1  tron listed with the relay_domains parameter. </p>
    173  1.1  tron 
    174  1.1  tron <li> <p> The mail delivery transport is specified with the
    175  1.1  tron relay_transport parameter. The default value is <b>relay</b> which
    176  1.1  tron is a clone of the smtp(8) delivery agent. </p>
    177  1.1  tron 
    178  1.1  tron </ul>
    179  1.1  tron 
    180  1.1  tron <p> The <a name="default_domain_class">default </a> domain class.
    181  1.1  tron </p>
    182  1.1  tron 
    183  1.1  tron <ul>
    184  1.1  tron 
    185  1.1  tron <li> <p> Purpose: mail forwarding to the Internet on behalf of
    186  1.1  tron authorized clients. For a discussion of the basic configuration
    187  1.1  tron details, see the BASIC_CONFIGURATION_README file. For a discussion
    188  1.1  tron of the difference between canonical domains, hosted domains and
    189  1.1  tron other domains, see the VIRTUAL_README file. </p>
    190  1.1  tron 
    191  1.1  tron <li> <p> This class has no destination domain table. </p>
    192  1.1  tron 
    193  1.1  tron <li> <p> This class has no valid recipient address table. </p>
    194  1.1  tron 
    195  1.1  tron <li> <p> The mail delivery transport is specified with the
    196  1.1  tron default_transport parameter. The default value is <b>smtp</b> for
    197  1.1  tron delivery with the smtp(8) delivery agent. </p>
    198  1.1  tron 
    199  1.1  tron </ul>
    200  1.1  tron 
    201  1.1  tron <h2><a name="improvements">Improvements compared to Postfix
    202  1.1  tron 1.1</a></h2>
    203  1.1  tron 
    204  1.1  tron <p> Postfix 2.0 address classes made the following improvements
    205  1.1  tron possible over earlier Postfix versions: </p>
    206  1.1  tron 
    207  1.1  tron <ul>
    208  1.1  tron 
    209  1.1  tron <li> <p> You no longer need to specify all the virtual(8) mailbox
    210  1.1  tron domains in the Postfix transport map. The virtual(8) delivery agent
    211  1.1  tron has become a first-class citizen just like local(8) or smtp(8).
    212  1.1  tron </p>
    213  1.1  tron 
    214  1.1  tron <li> <p> On mail gateway systems, address classes provide separation
    215  1.1  tron of inbound mail relay traffic ($relay_transport) from outbound
    216  1.1  tron traffic ($default_transport). This eliminates a problem where
    217  1.1  tron inbound mail deliveries could become resource starved in the presence
    218  1.1  tron of a high volume of outbound mail. </p>
    219  1.1  tron 
    220  1.1  tron <li> <p> The SMTP server rejects unknown recipients in a more
    221  1.1  tron consistent manner than was possible with Postfix version 1. This
    222  1.1  tron is needed to keep undeliverable mail (and bounced undeliverable
    223  1.1  tron mail) out of the mail queue. This is controlled by the
    224  1.1  tron smtpd_reject_unlisted_recipient configuration parameter. </p>
    225  1.1  tron 
    226  1.1  tron <li> <p> As of Postfix version 2.1, the SMTP server also rejects
    227  1.1  tron unknown sender addresses (i.e. addresses that it would reject as
    228  1.1  tron unknown recipient addresses).  Sender "egress filtering" can help
    229  1.1  tron to slow down an email worm explosion.  This is controlled by the
    230  1.1  tron smtpd_reject_unlisted_sender configuration parameter. </p>
    231  1.1  tron 
    232  1.1  tron </ul>
    233  1.1  tron 
    234  1.1  tron <h2><a name="incompatibility">Incompatibilities with Postfix 1.1</a></h2>
    235  1.1  tron 
    236  1.1  tron <p> Postfix 2.0 address classes introduce a few incompatible changes
    237  1.1  tron in documented behavior. In order to ease the transitions, new
    238  1.1  tron parameters have default values that are backwards compatible. </p>
    239  1.1  tron 
    240  1.1  tron <ul>
    241  1.1  tron 
    242  1.1  tron <li> <p> The virtual_maps parameter is replaced by virtual_alias_maps
    243  1.1  tron (for address lookups) and by virtual_alias_domains (for the names
    244  1.1  tron of what were formerly called "Postfix-style virtual domains"). </p>
    245  1.1  tron 
    246  1.1  tron <p> For backwards compatibility with Postfix version 1.1, the new
    247  1.1  tron virtual_alias_maps parameter defaults to $virtual_maps, and the
    248  1.1  tron new virtual_alias_domains parameter defaults to $virtual_alias_maps.
    249  1.1  tron </p>
    250  1.1  tron 
    251  1.1  tron <li> <p> The virtual_mailbox_maps parameter now has a companion
    252  1.1  tron parameter called virtual_mailbox_domains (for the names of domains
    253  1.1  tron served by the virtual delivery agent). The virtual_mailbox_maps
    254  1.1  tron parameter is now used for address lookups only. </p>
    255  1.1  tron 
    256  1.1  tron <p> For backwards compatibility with Postfix version 1.1, the new
    257  1.1  tron virtual_mailbox_domains parameter defaults to $virtual_mailbox_maps.
    258  1.1  tron </p>
    259  1.1  tron 
    260  1.1  tron <li> <p> Introduction of the relay_recipient_maps parameter.  The
    261  1.1  tron Postfix SMTP server can use this to block mail for relay recipients
    262  1.1  tron that don't exist. This list is empty by default, which means accept
    263  1.1  tron any recipient. </p>
    264  1.1  tron 
    265  1.1  tron <li> <p> The local_recipient_maps feature is now turned on by
    266  1.1  tron default.  The Postfix SMTP server uses this to reject mail for
    267  1.1  tron unknown local recipients. See the LOCAL_RECIPIENT_README file hints
    268  1.1  tron and tips. </p>
    269  1.1  tron 
    270  1.1  tron <li> <p> Introduction of the relay delivery transport in master.cf.
    271  1.1  tron This helps to avoid mail delivery scheduling problems on inbound
    272  1.1  tron mail relays when there is a lot of outbound mail, but may require
    273  1.1  tron that you update your "defer_transports" setting. </p>
    274  1.1  tron 
    275  1.1  tron </ul>
    276  1.1  tron 
    277  1.1  tron </body>
    278  1.1  tron 
    279  1.1  tron </html>
    280