From a1fca514efc1fee7d339c7e6738f822b44dfb347 Mon Sep 17 00:00:00 2001
From: Wietse Venema
+Overrides the sender_relayhost_maps parameter setting for address +verification probes. +
+ ++This feature is available in Postfix 2.3 and later. +
+ +The default mail delivery transport for domains that match $mydestination, $inet_interfaces or $proxy_interfaces. This @@ -5645,7 +5660,8 @@ The name of the directory with example Postfix configuration files. (default: no)
-This parameter should not be used. +This parameter should not be used. It was replaced by sender_relayhost_maps +in Postfix 2.3.
@@ -5754,6 +5770,20 @@ Example: +A sender-specific override for the global relayhost parameter +setting. The tables are searched by the sender address and by the +sender @domain.
+ ++This feature is available in Postfix 2.3 and later. +
+ +The maximal number of SMTP sessions per delivery request before -giving up or delivering to a fall-back relay host, or zero (no +giving up or delivering to a fall-back relay host, or zero (no limit). This restriction ignores sessions that fail to complete the SMTP initial handshake (Postfix 2.2 and earlier) or that fail to complete the EHLO and TLS handshake (Postfix 2.3 and later).
@@ -6401,6 +6431,23 @@ complete the EHLO and TLS handshake (Postfix 2.3 and later). smtp_always_send_ehlo parameter. ++Enable per-sender authentication in the SMTP client; this is available +only with SASL authentication, and disables SMTP connection caching +to ensure that mail from different senders will use the appropriate +credentials. +
+ ++This feature is available in Postfix 2.3 and later. +
+ +Optional SMTP client lookup tables with one username:password entry -per remote hostname or domain. If a remote host or domain has no -username:password entry, then the Postfix SMTP client will not +per remote hostname or domain (or per sender address, when per-sender +authentication is enabled). If no username:password entry is found, +then the Postfix SMTP client will not attempt to authenticate to the remote host.
diff --git a/postfix/html/smtp.8.html b/postfix/html/smtp.8.html index e01c21b07..f7be280cf 100644 --- a/postfix/html/smtp.8.html +++ b/postfix/html/smtp.8.html @@ -188,99 +188,110 @@ SMTP(8) SMTP(8) smtp_sasl_password_maps (empty) Optional SMTP client lookup tables with one user- - name:password entry per remote hostname or domain. + name:password entry per remote hostname or domain + (or per sender, when per-sender authentication is + enabled). smtp_sasl_security_options (noplaintext, noanonymous) - What authentication mechanisms the Postfix SMTP + What authentication mechanisms the Postfix SMTP client is allowed to use. Available in Postfix version 2.2 and later: smtp_sasl_mechanism_filter (empty) - If non-empty, a Postfix SMTP client filter for the - remote SMTP server's list of offered SASL mecha- + If non-empty, a Postfix SMTP client filter for the + remote SMTP server's list of offered SASL mecha- nisms. + Available in Postfix version 2.3 and later: + + smtp_per_sender_authentication (no) + Enable per-sender authentication in the SMTP + client; this is available only with SASL authenti- + cation, and disables SMTP connection caching to + ensure that mail from different senders will use + the appropriate credentials. + STARTTLS SUPPORT CONTROLS - Detailed information about STARTTLS configuration may be + Detailed information about STARTTLS configuration may be found in the TLS_README document. smtp_use_tls (no) - Opportunistic mode: use TLS when a remote SMTP - server announces STARTTLS support, otherwise send + Opportunistic mode: use TLS when a remote SMTP + server announces STARTTLS support, otherwise send the mail in the clear. smtp_enforce_tls (no) - Enforcement mode: require that remote SMTP servers - use TLS encryption, and never send mail in the + Enforcement mode: require that remote SMTP servers + use TLS encryption, and never send mail in the clear. smtp_sasl_tls_security_options ($smtp_sasl_secu- rity_options) - The SASL authentication security options that the - Postfix SMTP client uses for TLS encrypted SMTP + The SASL authentication security options that the + Postfix SMTP client uses for TLS encrypted SMTP sessions. smtp_starttls_timeout (300s) - Time limit for Postfix SMTP client write and read - operations during TLS startup and shutdown hand- + Time limit for Postfix SMTP client write and read + operations during TLS startup and shutdown hand- shake procedures. smtp_tls_CAfile (empty) - The file with the certificate of the certification - authority (CA) that issued the Postfix SMTP client + The file with the certificate of the certification + authority (CA) that issued the Postfix SMTP client certificate. smtp_tls_CApath (empty) - Directory with PEM format certificate authority - certificates that the Postfix SMTP client uses to + Directory with PEM format certificate authority + certificates that the Postfix SMTP client uses to verify a remote SMTP server certificate. smtp_tls_cert_file (empty) - File with the Postfix SMTP client RSA certificate + File with the Postfix SMTP client RSA certificate in PEM format. smtp_tls_cipherlist (empty) - Controls the Postfix SMTP client TLS cipher selec- + Controls the Postfix SMTP client TLS cipher selec- tion scheme. smtp_tls_dcert_file (empty) - File with the Postfix SMTP client DSA certificate + File with the Postfix SMTP client DSA certificate in PEM format. smtp_tls_dkey_file ($smtp_tls_dcert_file) - File with the Postfix SMTP client DSA private key + File with the Postfix SMTP client DSA private key in PEM format. smtp_tls_enforce_peername (yes) - When TLS encryption is enforced, require that the + When TLS encryption is enforced, require that the remote SMTP server hostname matches the information in the remote SMTP server certificate. smtp_tls_key_file ($smtp_tls_cert_file) - File with the Postfix SMTP client RSA private key + File with the Postfix SMTP client RSA private key in PEM format. smtp_tls_loglevel (0) - Enable additional Postfix SMTP client logging of + Enable additional Postfix SMTP client logging of TLS activity. smtp_tls_note_starttls_offer (no) - Log the hostname of a remote SMTP server that - offers STARTTLS, when TLS is not already enabled + Log the hostname of a remote SMTP server that + offers STARTTLS, when TLS is not already enabled for that server. smtp_tls_per_site (empty) Optional lookup tables with the Postfix SMTP client - TLS usage policy by next-hop domain name and by + TLS usage policy by next-hop domain name and by remote SMTP server hostname. smtp_tls_scert_verifydepth (5) - The verification depth for remote SMTP server cer- + The verification depth for remote SMTP server cer- tificates. smtp_tls_session_cache_database (empty) - Name of the file containing the optional Postfix + Name of the file containing the optional Postfix SMTP client TLS session cache. smtp_tls_session_cache_timeout (3600s) @@ -288,31 +299,31 @@ SMTP(8) SMTP(8) sion cache information. tls_daemon_random_bytes (32) - The number of pseudo-random bytes that an smtp(8) - or smtpd(8) process requests from the tlsmgr(8) - server in order to seed its internal pseudo random + The number of pseudo-random bytes that an smtp(8) + or smtpd(8) process requests from the tlsmgr(8) + server in order to seed its internal pseudo random number generator (PRNG). RESOURCE AND RATE CONTROLS smtp_destination_concurrency_limit ($default_destina- tion_concurrency_limit) - The maximal number of parallel deliveries to the - same destination via the smtp message delivery + The maximal number of parallel deliveries to the + same destination via the smtp message delivery transport. smtp_destination_recipient_limit ($default_destina- tion_recipient_limit) - The maximal number of recipients per delivery via + The maximal number of recipients per delivery via the smtp message delivery transport. smtp_connect_timeout (30s) - The SMTP client time limit for completing a TCP + The SMTP client time limit for completing a TCP connection, or zero (use the operating system built-in time limit). smtp_helo_timeout (300s) - The SMTP client time limit for sending the HELO or - EHLO command, and for receiving the initial server + The SMTP client time limit for sending the HELO or + EHLO command, and for receiving the initial server response. smtp_xforward_timeout (300s) @@ -320,30 +331,30 @@ SMTP(8) SMTP(8) command, and for receiving the server response. smtp_mail_timeout (300s) - The SMTP client time limit for sending the MAIL - FROM command, and for receiving the server + The SMTP client time limit for sending the MAIL + FROM command, and for receiving the server response. smtp_rcpt_timeout (300s) - The SMTP client time limit for sending the SMTP - RCPT TO command, and for receiving the server + The SMTP client time limit for sending the SMTP + RCPT TO command, and for receiving the server response. smtp_data_init_timeout (120s) - The SMTP client time limit for sending the SMTP - DATA command, and for receiving the server + The SMTP client time limit for sending the SMTP + DATA command, and for receiving the server response. smtp_data_xfer_timeout (180s) - The SMTP client time limit for sending the SMTP + The SMTP client time limit for sending the SMTP message content. smtp_data_done_timeout (600s) - The SMTP client time limit for sending the SMTP + The SMTP client time limit for sending the SMTP ".", and for receiving the server response. smtp_quit_timeout (300s) - The SMTP client time limit for sending the QUIT + The SMTP client time limit for sending the QUIT command, and for receiving the server response. Available in Postfix version 2.1 and later: @@ -354,22 +365,22 @@ SMTP(8) SMTP(8) lookups, or zero (no limit). smtp_mx_session_limit (2) - The maximal number of SMTP sessions per delivery - request before giving up or delivering to a fall- - back relay host, or zero (no limit). + The maximal number of SMTP sessions per delivery + request before giving up or delivering to a fall- + back relay host, or zero (no limit). smtp_rset_timeout (20s) - The SMTP client time limit for sending the RSET + The SMTP client time limit for sending the RSET command, and for receiving the server response. Available in Postfix version 2.2 and later: smtp_connection_cache_destinations (empty) - Permanently enable SMTP connection caching for the + Permanently enable SMTP connection caching for the specified destinations. smtp_connection_cache_on_demand (yes) - Temporarily enable SMTP connection caching while a + Temporarily enable SMTP connection caching while a destination has a high volume of mail in the active queue. @@ -379,55 +390,55 @@ SMTP(8) SMTP(8) smtp_connection_cache_time_limit (2s) When SMTP connection caching is enabled, the amount - of time that an unused SMTP client socket is kept + of time that an unused SMTP client socket is kept open before it is closed. TROUBLE SHOOTING CONTROLS debug_peer_level (2) - The increment in verbose logging level when a - remote client or server matches a pattern in the + The increment in verbose logging level when a + remote client or server matches a pattern in the debug_peer_list parameter. debug_peer_list (empty) - Optional list of remote client or server hostname - or network address patterns that cause the verbose - logging level to increase by the amount specified + Optional list of remote client or server hostname + or network address patterns that cause the verbose + logging level to increase by the amount specified in $debug_peer_level. error_notice_recipient (postmaster) - The recipient of postmaster notifications about - mail delivery problems that are caused by policy, + The recipient of postmaster notifications about + mail delivery problems that are caused by policy, resource, software or protocol errors. notify_classes (resource, software) - The list of error classes that are reported to the + The list of error classes that are reported to the postmaster. MISCELLANEOUS CONTROLS best_mx_transport (empty) - Where the Postfix SMTP client should deliver mail + Where the Postfix SMTP client should deliver mail when it detects a "mail loops back to myself" error condition. config_directory (see 'postconf -d' output) - The default location of the Postfix main.cf and + 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 + 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 + The maximal number of digits after the decimal point when logging sub-second delay values. disable_dns_lookups (no) - Disable DNS lookups in the Postfix SMTP and LMTP + Disable DNS lookups in the Postfix SMTP and LMTP clients. fallback_relay (empty) - Optional list of relay hosts for SMTP destinations + Optional list of relay hosts for SMTP destinations that can't be found or that are unreachable. inet_interfaces (all) @@ -435,7 +446,7 @@ SMTP(8) SMTP(8) tem receives mail on. inet_protocols (ipv4) - The Internet protocols Postfix will attempt to use + The Internet protocols Postfix will attempt to use when making or accepting connections. ipc_timeout (3600s) @@ -443,55 +454,55 @@ SMTP(8) SMTP(8) 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 + 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 + The maximal number of connection requests before a Postfix daemon process terminates. process_id (read-only) - The process ID of a Postfix command or daemon + The process ID of a Postfix command or daemon process. process_name (read-only) - The process name of a Postfix command or daemon + The process name of a Postfix command or daemon process. proxy_interfaces (empty) The network interface addresses that this mail sys- - tem receives mail on by way of a proxy or network + tem receives mail on by way of a proxy or network address translation unit. smtp_bind_address (empty) An optional numerical network address that the SMTP - client should bind to when making an IPv4 connec- + client should bind to when making an IPv4 connec- tion. smtp_bind_address6 (empty) An optional numerical network address that the SMTP - client should bind to when making an IPv6 connec- + client should bind to when making an IPv6 connec- tion. smtp_helo_name ($myhostname) - The hostname to send in the SMTP EHLO or HELO com- + The hostname to send in the SMTP EHLO or HELO com- mand. smtp_host_lookup (dns) - What mechanisms when the SMTP client uses to look + What mechanisms when the SMTP client uses to look up a host's IP address. smtp_randomize_addresses (yes) - Randomize the order of equal-preference MX host + Randomize the order of equal-preference MX host addresses. 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" + The mail system name that is prepended to the + process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". SEE ALSO @@ -509,7 +520,7 @@ SMTP(8) SMTP(8) TLS_README, Postfix STARTTLS howto LICENSE - The Secure Mailer license must be distributed with this + The Secure Mailer license must be distributed with this software. AUTHOR(S) diff --git a/postfix/html/transport.5.html b/postfix/html/transport.5.html index bdd0dc98a..a0263aad0 100644 --- a/postfix/html/transport.5.html +++ b/postfix/html/transport.5.html @@ -18,46 +18,55 @@ TRANSPORT(5) TRANSPORT(5) DESCRIPTION The optional transport(5) table specifies a mapping from - email addresses to message delivery transports and/or - relay hosts. The mapping is used by the trivial-rewrite(8) + email addresses to message delivery transports and next- + hop hosts. The table is searched by the trivial-rewrite(8) daemon. - This mapping overrides the default routing that is built - into Postfix: + This mapping overrides the default transport:nexthop + selection that is built into Postfix: - mydestination - A list of domains that is by default delivered via - $local_transport. This also includes domains that - match $inet_interfaces or $proxy_interfaces. + local_transport (default: local:$myhostname) + This is the default for final delivery to domains + listed with mydestination, and for [ipaddress] des- + tinations that match $inet_interfaces or + $proxy_interfaces. The default nexthop destination + is the MTA hostname. - virtual_mailbox_domains - A list of domains that is by default delivered via - $virtual_transport. + virtual_transport (default: virtual:) + This is the default for final delivery to domains + listed with virtual_mailbox_domains. The default + nexthop destination is the recipient domain. - relay_domains - A list of domains that is by default delivered via - $relay_transport. + relay_transport (default: relay:) + This is the default for remote delivery to domains + listed with relay_domains. In order of decreasing + precedence, the nexthop destination is taken from + relay_transport, sender_relayhost_maps, relayhost, + or from the recipient domain. - any other destination - Mail for any other destination is by default deliv- - ered via $default_transport. + default_transport (default: smtp:) + This is the default for remote delivery to other + destinations. In order of decreasing precedence, + the nexthop destination is taken from + default_transport, sender_relayhost_maps, relay- + host, or from the recipient domain. - Normally, the transport(5) 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/transport" in order to rebuild the + Normally, the transport(5) 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/transport" in order to rebuild the indexed file after changing the transport table. - When the table is provided via other means such as NIS, - LDAP or SQL, the same lookups are done as for ordinary + When the table is provided via other means such as NIS, + LDAP or SQL, the same lookups are done as for ordinary indexed files. - Alternatively, the table can be provided as a regular- + Alternatively, the table can be provided as a regular- expression map where patterns are given as regular expres- - sions, or lookups can be directed to TCP-based server. In - that case, the lookups are done in a slightly different - way as described below under "REGULAR EXPRESSION TABLES" + sions, or lookups can be directed to TCP-based server. In + that case, the lookups are done in a slightly different + way as described below under "REGULAR EXPRESSION TABLES" and "TCP-BASED TABLES". TABLE FORMAT @@ -68,125 +77,125 @@ TRANSPORT(5) TRANSPORT(5) domain, use the corresponding result. blank lines and comments - Empty lines and whitespace-only lines are ignored, - as are lines whose first non-whitespace character + Empty lines and whitespace-only lines are ignored, + as are lines whose first non-whitespace character is a `#'. multi-line text - A logical line starts with non-whitespace text. A - line that starts with whitespace continues a logi- + A logical line starts with non-whitespace text. A + line that starts with whitespace continues a logi- cal line. - The pattern specifies an email address, a domain name, or - a domain name hierarchy, as described in section "TABLE + The pattern specifies an email address, a domain name, or + a domain name hierarchy, as described in section "TABLE LOOKUP". - The result is of the form transport:nexthop and specifies + The result is of the form transport:nexthop and specifies how or where to deliver mail. This is described in section "RESULT FORMAT". TABLE SEARCH ORDER With lookups from indexed files such as DB or DBM, or from - networked tables such as NIS, LDAP or SQL, patterns are + networked tables such as NIS, LDAP or SQL, patterns are tried in the order as listed below: user+extension@domain transport:nexthop - Deliver mail for user+extension@domain through + Deliver mail for user+extension@domain through transport to nexthop. user@domain transport:nexthop - Deliver mail for user@domain through transport to + Deliver mail for user@domain through transport to nexthop. domain transport:nexthop - Deliver mail for domain through transport to nex- + Deliver mail for domain through transport to nex- thop. .domain transport:nexthop - Deliver mail for any subdomain of domain through - transport to nexthop. This applies only when the - string transport_maps is not listed in the par- - ent_domain_matches_subdomains configuration set- - ting. Otherwise, a domain name matches itself and + Deliver mail for any subdomain of domain through + transport to nexthop. This applies only when the + string transport_maps is not listed in the par- + ent_domain_matches_subdomains configuration set- + ting. Otherwise, a domain name matches itself and its subdomains. Note 1: the special pattern * represents any address (i.e. it functions as the wild-card pattern). - Note 2: the null recipient address is looked up as + Note 2: the null recipient address is looked up as $empty_address_recipient@$myhostname (default: mailer-dae- mon@hostname). - Note 3: user@domain or user+extension@domain lookup is + Note 3: user@domain or user+extension@domain lookup is available in Postfix 2.0 and later. RESULT FORMAT - The lookup result is of the form transport:nexthop. The - transport field specifies a mail delivery transport such - as smtp or local. The nexthop field specifies where and + The lookup result is of the form transport:nexthop. The + transport field specifies a mail delivery transport such + as smtp or local. The nexthop field specifies where and how to deliver mail. - The transport field specifies the name of a mail delivery + The transport field specifies the name of a mail delivery transport (the first name of a mail delivery service entry in the Postfix master.cf file). - The interpretation of the nexthop field is transport - dependent. In the case of SMTP, specify a service on a - non-default port as host:service, and disable MX (mail - exchanger) DNS lookups with [host] or [host]:port. The [] + The interpretation of the nexthop field is transport + dependent. In the case of SMTP, specify a service on a + non-default port as host:service, and disable MX (mail + exchanger) DNS lookups with [host] or [host]:port. The [] form is required when you specify an IP address instead of a hostname. - A null transport and null nexthop result means "do not - change": use the delivery transport and nexthop informa- - tion that would be used when the entire transport table + A null transport and null nexthop result means "do not + change": use the delivery transport and nexthop informa- + tion that would be used when the entire transport table did not exist. - A non-null transport field with a null nexthop field + A non-null transport field with a null nexthop field resets the nexthop information to the recipient domain. - A null transport field with non-null nexthop field does + A null transport field with non-null nexthop field does not modify the transport information. EXAMPLES - In order to deliver internal mail directly, while using a - mail relay for all other mail, specify a null entry for - internal destinations (do not change the delivery trans- - port or the nexthop information) and specify a wildcard + In order to deliver internal mail directly, while using a + mail relay for all other mail, specify a null entry for + internal destinations (do not change the delivery trans- + port or the nexthop information) and specify a wildcard for all other destinations. my.domain : .my.domain : * smtp:outbound-relay.my.domain - In order to send mail for example.com and its subdomains + In order to send mail for example.com and its subdomains via the uucp transport to the UUCP host named example: example.com uucp:example .example.com uucp:example - When no nexthop host name is specified, the destination - domain name is used instead. For example, the following - directs mail for user@example.com via the slow transport - to a mail exchanger for example.com. The slow transport + When no nexthop host name is specified, the destination + domain name is used instead. For example, the following + directs mail for user@example.com via the slow transport + to a mail exchanger for example.com. The slow transport could be configured to run at most one delivery process at a time: example.com slow: When no transport is specified, Postfix uses the transport - that matches the address domain class (see DESCRIPTION - above). The following sends all mail for example.com and + that matches the address domain class (see DESCRIPTION + above). The following sends all mail for example.com and its subdomains to host gateway.example.com: example.com :[gateway.example.com] .example.com :[gateway.example.com] - In the above example, the [] suppress MX lookups. This - prevents mail routing loops when your machine is primary + In the above example, the [] suppress MX lookups. This + prevents mail routing loops when your machine is primary MX host for example.com. - In the case of delivery via SMTP, one may specify host- + In the case of delivery via SMTP, one may specify host- name:service instead of just a host: example.com smtp:bar.example:2025 @@ -198,57 +207,57 @@ TRANSPORT(5) TRANSPORT(5) The error mailer can be used to bounce mail: - .example.com error:mail for *.example.com is not + .example.com error:mail for *.example.com is not deliverable - This causes all mail for user@anything.example.com to be + This causes all mail for user@anything.example.com to be bounced. REGULAR EXPRESSION TABLES - This section describes how the table lookups change when + This section describes how the table lookups change when the table is given in the form of regular expressions. For - a description of regular expression lookup table syntax, + a description of regular expression lookup table syntax, see regexp_table(5) or pcre_table(5). - Each pattern is a regular expression that is applied to - the entire address being looked up. Thus, - some.domain.hierarchy is not looked up via its parent - domains, nor is user+foo@domain looked up as user@domain. + Each pattern is a regular expression that is applied to + the entire address being looked up. Thus, + some.domain.hierarchy is not looked up via its parent + domains, nor is user+foo@domain looked up as user@domain. - Patterns are applied in the order as specified in the ta- - ble, until a pattern is found that matches the search + Patterns are applied in the order as specified in the ta- + ble, until a pattern is found that matches the search string. - Results are the same as with indexed file lookups, with - the additional feature that parenthesized substrings from + Results are the same as with indexed file lookups, with + the additional feature that parenthesized substrings from the pattern can be interpolated as $1, $2 and so on. TCP-BASED TABLES - This section describes how the table lookups change when + This section describes how the table lookups change when lookups are directed to a TCP-based server. For a descrip- tion of the TCP client/server lookup protocol, see tcp_ta- ble(5). This feature is not available up to and including Postfix version 2.2. - Each lookup operation uses the entire recipient address - once. Thus, some.domain.hierarchy is not looked up via - its parent domains, nor is user+foo@domain looked up as + Each lookup operation uses the entire recipient address + once. Thus, some.domain.hierarchy is not looked up via + its parent domains, nor is user+foo@domain looked up as user@domain. Results are the same as with indexed file lookups. CONFIGURATION PARAMETERS - The following main.cf parameters are especially relevant. - The text below provides only a parameter summary. See + The following main.cf parameters are especially relevant. + The text below provides only a parameter summary. See postconf(5) for more details including examples. empty_address_recipient - The address that is looked up instead of the null + The address that is looked up instead of the null sender address. parent_domain_matches_subdomains - List of Postfix features that use domain.tld pat- - terns to match sub.domain.tld (as opposed to + List of Postfix features that use domain.tld pat- + terns to match sub.domain.tld (as opposed to requiring .domain.tld patterns). transport_maps @@ -264,7 +273,7 @@ TRANSPORT(5) TRANSPORT(5) FILTER_README, external content filter LICENSE - The Secure Mailer license must be distributed with this + The Secure Mailer license must be distributed with this software. AUTHOR(S) diff --git a/postfix/html/trivial-rewrite.8.html b/postfix/html/trivial-rewrite.8.html index 604ab1581..9bb40a081 100644 --- a/postfix/html/trivial-rewrite.8.html +++ b/postfix/html/trivial-rewrite.8.html @@ -144,7 +144,7 @@ TRIVIAL-REWRITE(8) TRIVIAL-REWRITE(8) tual_transport, relay_transport, virtual_alias_domains, virtual_mailbox_domains or proxy_interfaces. - local_transport (local:$myhostname) + local_transport (local:$myhostname) The default mail delivery transport for domains that match $mydestination, $inet_interfaces or $proxy_interfaces. @@ -181,13 +181,19 @@ TRIVIAL-REWRITE(8) TRIVIAL-REWRITE(8) address to (message delivery transport, next-hop destination). + Available in Postfix version 2.3 and later: + + sender_relayhost_maps (empty) + A sender-specific override for the global relayhost + parameter setting. + ADDRESS VERIFICATION CONTROLS - Postfix version 2.1 introduces sender and recipient - address verification. This feature is implemented by - sending probe email messages that are not actually deliv- - ered. By default, address verification probes use the - same route as regular mail. To override specific aspects - of message routing for address verification probes, spec- + Postfix version 2.1 introduces sender and recipient + address verification. This feature is implemented by + sending probe email messages that are not actually deliv- + ered. By default, address verification probes use the + same route as regular mail. To override specific aspects + of message routing for address verification probes, spec- ify one or more of the following: address_verify_local_transport ($local_transport) @@ -195,7 +201,7 @@ TRIVIAL-REWRITE(8) TRIVIAL-REWRITE(8) address verification probes. address_verify_virtual_transport ($virtual_transport) - Overrides the virtual_transport parameter setting + Overrides the virtual_transport parameter setting for address verification probes. address_verify_relay_transport ($relay_transport) @@ -203,13 +209,17 @@ TRIVIAL-REWRITE(8) TRIVIAL-REWRITE(8) address verification probes. address_verify_default_transport ($default_transport) - Overrides the default_transport parameter setting + Overrides the default_transport parameter setting for address verification probes. address_verify_relayhost ($relayhost) - Overrides the relayhost parameter setting for + Overrides the relayhost parameter setting for address verification probes. + address_verify_sender_relayhost_maps (empty) + Overrides the sender_relayhost_maps parameter set- + ting for address verification probes. + address_verify_transport_maps ($transport_maps) Overrides the transport_maps parameter setting for address verification probes. diff --git a/postfix/man/man5/postconf.5 b/postfix/man/man5/postconf.5 index 34f297472..481151606 100644 --- a/postfix/man/man5/postconf.5 +++ b/postfix/man/man5/postconf.5 @@ -197,6 +197,11 @@ address_verify_sender = postmaster@my.domain .ft R .PP This feature is available in Postfix 2.1 and later. +.SH address_verify_sender_relayhost_maps (default: empty) +Overrides the sender_relayhost_maps parameter setting for address +verification probes. +.PP +This feature is available in Postfix 2.3 and later. .SH address_verify_service_name (default: verify) The name of the \fBverify\fR(8) address verification service. This service maintains the status of sender and/or recipient address verification @@ -3149,7 +3154,8 @@ This feature is available in Postfix 2.0 and later. .SH sample_directory (default: /etc/postfix) The name of the directory with example Postfix configuration files. .SH sender_based_routing (default: no) -This parameter should not be used. +This parameter should not be used. It was replaced by sender_relayhost_maps +in Postfix 2.3. .SH sender_bcc_maps (default: empty) Optional BCC (blind carbon-copy) address lookup tables, indexed by sender address. The BCC address (multiple results are not @@ -3222,6 +3228,12 @@ sender_canonical_maps = hash:/etc/postfix/sender_canonical .fi .ad .ft R +.SH sender_relayhost_maps (default: empty) +A sender-specific override for the global relayhost parameter +setting. The tables are searched by the sender address and by the +sender @domain. +.PP +This feature is available in Postfix 2.3 and later. .SH sendmail_path (default: see "postconf -d" output) A Sendmail compatibility feature that specifies the location of the Postfix \fBsendmail\fR(1) command. This command can be used to @@ -3582,6 +3594,13 @@ This feature is available in Postfix 2.1 and later. .SH smtp_never_send_ehlo (default: no) Never send EHLO at the start of an SMTP session. See also the smtp_always_send_ehlo parameter. +.SH smtp_per_sender_authentication (default: no) +Enable per-sender authentication in the SMTP client; this is available +only with SASL authentication, and disables SMTP connection caching +to ensure that mail from different senders will use the appropriate +credentials. +.PP +This feature is available in Postfix 2.3 and later. .SH smtp_pix_workaround_delay_time (default: 10s) How long the Postfix SMTP client pauses before sending ".Optional SMTP client lookup tables with one username:password entry -per remote hostname or domain. If a remote host or domain has no -username:password entry, then the Postfix SMTP client will not +per remote hostname or domain (or per sender address, when per-sender +authentication is enabled). If no username:password entry is found, +then the Postfix SMTP client will not attempt to authenticate to the remote host.
@@ -7112,7 +7113,8 @@ The name of the directory with example Postfix configuration files. %PARAM sender_based_routing no-This parameter should not be used. +This parameter should not be used. It was replaced by sender_relayhost_maps +in Postfix 2.3.
%PARAM sendmail_path see "postconf -d" output @@ -8704,3 +8706,37 @@ is placed into the Postfix configuration directory.This feature is available in Postfix 2.3 and later.
+%PARAM sender_relayhost_maps empty + +A sender-specific override for the global relayhost parameter +setting. The tables are searched by the sender address and by the +sender @domain.
+ ++This feature is available in Postfix 2.3 and later. +
+ +%PARAM address_verify_sender_relayhost_maps empty + ++Overrides the sender_relayhost_maps parameter setting for address +verification probes. +
+ ++This feature is available in Postfix 2.3 and later. +
+ +%PARAM smtp_per_sender_authentication no + ++Enable per-sender authentication in the SMTP client; this is available +only with SASL authentication, and disables SMTP connection caching +to ensure that mail from different senders will use the appropriate +credentials. +
+ ++This feature is available in Postfix 2.3 and later. +
+ diff --git a/postfix/proto/transport b/postfix/proto/transport index cd5179a05..f096779f4 100644 --- a/postfix/proto/transport +++ b/postfix/proto/transport @@ -11,24 +11,33 @@ # \fBpostmap -q - /etc/postfix/transport <\fIinputfile\fR # DESCRIPTION # The optional \fBtransport\fR(5) table specifies a mapping from email -# addresses to message delivery transports and/or relay hosts. The -# mapping is used by the \fBtrivial-rewrite\fR(8) daemon. +# addresses to message delivery transports and next-hop hosts. The +# table is searched by the \fBtrivial-rewrite\fR(8) daemon. # -# This mapping overrides the default routing that is built into -# Postfix: -# .IP \fBmydestination\fR -# A list of domains that is by default delivered via -# \fB$local_transport\fR. This also includes domains -# that match \fB$inet_interfaces\fR or \fB$proxy_interfaces\fR. -# .IP \fBvirtual_mailbox_domains\fR -# A list of domains that is by default delivered via -# \fB$virtual_transport\fR. -# .IP \fBrelay_domains\fR -# A list of domains that is by default delivered via -# \fB$relay_transport\fR. -# .IP "any other destination" -# Mail for any other destination is by default delivered via -# \fB$default_transport\fR. +# This mapping overrides the default \fItransport\fR:\fInexthop\fR +# selection that is built into Postfix: +# .IP "\fBlocal_transport (default: local:$myhostname)\fR" +# This is the default for final delivery to domains listed +# with \fBmydestination\fR, and for [\fIipaddress\fR] +# destinations that match \fB$inet_interfaces\fR or +# \fB$proxy_interfaces\fR. The default \fInexthop\fR destination +# is the MTA hostname. +# .IP "\fBvirtual_transport (default: virtual:)\fR" +# This is the default for final delivery to domains listed +# with \fBvirtual_mailbox_domains\fR. The default \fInexthop\fR +# destination is the recipient domain. +# .IP "\fBrelay_transport (default: relay:)\fR" +# This is the default for remote delivery to domains listed +# with \fBrelay_domains\fR. In order of decreasing precedence, +# the \fInexthop\fR destination is taken from \fBrelay_transport\fR, +# \fBsender_relayhost_maps\fR, \fBrelayhost\fR, or from the +# recipient domain. +# .IP "\fBdefault_transport (default: smtp:)\fR" +# This is the default for remote delivery to other destinations. +# In order of decreasing precedence, the \fInexthop\fR +# destination is taken from \fBdefault_transport\fR, +# \fBsender_relayhost_maps\fR, \fBrelayhost\fR, or from the +# recipient domain. # .PP # Normally, the \fBtransport\fR(5) table is specified as a text file # that serves as input to the \fBpostmap\fR(1) command. @@ -223,9 +232,9 @@ # CONFIGURATION PARAMETERS # .ad # .fi -# The following \fBmain.cf\fR parameters are especially relevant. -# The text below provides only a parameter summary. See -# \fBpostconf\fR(5) for more details including examples. +# The following \fBmain.cf\fR parameters are especially relevant. +# The text below provides only a parameter summary. See +# \fBpostconf\fR(5) for more details including examples. # .IP \fBempty_address_recipient\fR # The address that is looked up instead of the null sender address. # .IP \fBparent_domain_matches_subdomains\fR diff --git a/postfix/src/global/mail_params.h b/postfix/src/global/mail_params.h index 2bb85b0e8..1f76e7ca8 100644 --- a/postfix/src/global/mail_params.h +++ b/postfix/src/global/mail_params.h @@ -185,6 +185,10 @@ extern char *var_masq_classes; #define DEF_RELAYHOST "" extern char *var_relayhost; +#define VAR_SND_RELAY_MAPS "sender_relayhost_maps" +#define DEF_SND_RELAY_MAPS "" +extern char *var_snd_relay_maps; + #define VAR_FALLBACK_RELAY "fallback_relay" #define DEF_FALLBACK_RELAY "" extern char *var_fallback_relay; @@ -2152,6 +2156,10 @@ extern char *var_vrfy_def_xport; #define DEF_VRFY_RELAYHOST "$" VAR_RELAYHOST extern char *var_vrfy_relayhost; +#define VAR_VRFY_RELAY_MAPS "address_verify_sender_relayhost_maps" +#define DEF_VRFY_RELAY_MAPS "$" VAR_SND_RELAY_MAPS +extern char *var_vrfy_relay_maps; + #define VAR_VRFY_XPORT_MAPS "address_verify_transport_maps" #define DEF_VRFY_XPORT_MAPS "$" VAR_TRANSPORT_MAPS extern char *var_vrfy_xport_maps; @@ -2404,6 +2412,13 @@ extern int var_delay_max_res; #define DEF_BOUNCE_TMPL "" extern char *var_bounce_tmpl; + /* + * Per-sender authentication. + */ +#define VAR_SMTP_SENDER_AUTH "smtp_per_sender_authentication" +#define DEF_SMTP_SENDER_AUTH 0 +extern bool var_smtp_sender_auth; + /* LICENSE /* .ad /* .fi diff --git a/postfix/src/global/mail_version.h b/postfix/src/global/mail_version.h index 0d800ba09..731c190b4 100644 --- a/postfix/src/global/mail_version.h +++ b/postfix/src/global/mail_version.h @@ -20,7 +20,7 @@ * Patches change both the patchlevel and the release date. Snapshots have no * patchlevel; they change the release date only. */ -#define MAIL_RELEASE_DATE "20051121" +#define MAIL_RELEASE_DATE "20051124" #define MAIL_VERSION_NUMBER "2.3" #ifdef SNAPSHOT diff --git a/postfix/src/global/resolve_clnt.c b/postfix/src/global/resolve_clnt.c index 83906d5ae..123d0fe68 100644 --- a/postfix/src/global/resolve_clnt.c +++ b/postfix/src/global/resolve_clnt.c @@ -59,6 +59,9 @@ /* The address resolved to something that has invalid syntax. /* .IP RESOLVE_FLAG_FAIL /* The request could not be completed. +/* .IP RESOLVE_FLAG_SMARTHOST +/* The client may override the next-hop host with per-sender +/* relay host information. /* .PP /* In addition, the address domain class is returned by setting /* one of the following flags (this is preliminary code awaiting diff --git a/postfix/src/global/resolve_clnt.h b/postfix/src/global/resolve_clnt.h index ace680731..8f012a133 100644 --- a/postfix/src/global/resolve_clnt.h +++ b/postfix/src/global/resolve_clnt.h @@ -26,6 +26,7 @@ #define RESOLVE_FLAG_ROUTED (1<<1) /* routed destination */ #define RESOLVE_FLAG_ERROR (1<<2) /* bad destination syntax */ #define RESOLVE_FLAG_FAIL (1<<3) /* request failed */ +#define RESOLVE_FLAG_SMARTHOST (1<<4) /* smarthost route */ #define RESOLVE_CLASS_LOCAL (1<<8) /* mydestination/inet_interfaces */ #define RESOLVE_CLASS_ALIAS (1<<9) /* virtual_alias_domains */ diff --git a/postfix/src/oqmgr/Makefile.in b/postfix/src/oqmgr/Makefile.in index 39c95e71e..1815ddbcb 100644 --- a/postfix/src/oqmgr/Makefile.in +++ b/postfix/src/oqmgr/Makefile.in @@ -74,6 +74,7 @@ qmgr.o: ../../include/mail_params.h qmgr.o: ../../include/mail_proto.h qmgr.o: ../../include/mail_queue.h qmgr.o: ../../include/mail_server.h +qmgr.o: ../../include/maps.h qmgr.o: ../../include/master_proto.h qmgr.o: ../../include/msg.h qmgr.o: ../../include/recipient_list.h @@ -85,10 +86,12 @@ qmgr.o: ../../include/vstring.h qmgr.o: qmgr.c qmgr.o: qmgr.h qmgr_active.o: ../../include/abounce.h +qmgr_active.o: ../../include/argv.h qmgr_active.o: ../../include/attr.h qmgr_active.o: ../../include/bounce.h qmgr_active.o: ../../include/defer.h qmgr_active.o: ../../include/deliver_request.h +qmgr_active.o: ../../include/dict.h qmgr_active.o: ../../include/dsn.h qmgr_active.o: ../../include/dsn_buf.h qmgr_active.o: ../../include/dsn_mask.h @@ -96,6 +99,7 @@ qmgr_active.o: ../../include/events.h qmgr_active.o: ../../include/mail_open_ok.h qmgr_active.o: ../../include/mail_params.h qmgr_active.o: ../../include/mail_queue.h +qmgr_active.o: ../../include/maps.h qmgr_active.o: ../../include/msg.h qmgr_active.o: ../../include/msg_stats.h qmgr_active.o: ../../include/mymalloc.h @@ -110,12 +114,15 @@ qmgr_active.o: ../../include/vstream.h qmgr_active.o: ../../include/vstring.h qmgr_active.o: qmgr.h qmgr_active.o: qmgr_active.c +qmgr_bounce.o: ../../include/argv.h qmgr_bounce.o: ../../include/attr.h qmgr_bounce.o: ../../include/bounce.h qmgr_bounce.o: ../../include/deliver_completed.h qmgr_bounce.o: ../../include/deliver_request.h +qmgr_bounce.o: ../../include/dict.h qmgr_bounce.o: ../../include/dsn.h qmgr_bounce.o: ../../include/dsn_buf.h +qmgr_bounce.o: ../../include/maps.h qmgr_bounce.o: ../../include/msg_stats.h qmgr_bounce.o: ../../include/recipient_list.h qmgr_bounce.o: ../../include/scan_dir.h @@ -125,12 +132,15 @@ qmgr_bounce.o: ../../include/vstream.h qmgr_bounce.o: ../../include/vstring.h qmgr_bounce.o: qmgr.h qmgr_bounce.o: qmgr_bounce.c +qmgr_defer.o: ../../include/argv.h qmgr_defer.o: ../../include/attr.h qmgr_defer.o: ../../include/bounce.h qmgr_defer.o: ../../include/defer.h qmgr_defer.o: ../../include/deliver_request.h +qmgr_defer.o: ../../include/dict.h qmgr_defer.o: ../../include/dsn.h qmgr_defer.o: ../../include/dsn_buf.h +qmgr_defer.o: ../../include/maps.h qmgr_defer.o: ../../include/msg.h qmgr_defer.o: ../../include/msg_stats.h qmgr_defer.o: ../../include/recipient_list.h @@ -141,8 +151,10 @@ qmgr_defer.o: ../../include/vstream.h qmgr_defer.o: ../../include/vstring.h qmgr_defer.o: qmgr.h qmgr_defer.o: qmgr_defer.c +qmgr_deliver.o: ../../include/argv.h qmgr_deliver.o: ../../include/attr.h qmgr_deliver.o: ../../include/deliver_request.h +qmgr_deliver.o: ../../include/dict.h qmgr_deliver.o: ../../include/dsb_scan.h qmgr_deliver.o: ../../include/dsn.h qmgr_deliver.o: ../../include/dsn_buf.h @@ -152,6 +164,7 @@ qmgr_deliver.o: ../../include/iostuff.h qmgr_deliver.o: ../../include/mail_params.h qmgr_deliver.o: ../../include/mail_proto.h qmgr_deliver.o: ../../include/mail_queue.h +qmgr_deliver.o: ../../include/maps.h qmgr_deliver.o: ../../include/msg.h qmgr_deliver.o: ../../include/msg_stats.h qmgr_deliver.o: ../../include/recipient_list.h @@ -165,8 +178,11 @@ qmgr_deliver.o: ../../include/vstring.h qmgr_deliver.o: ../../include/vstring_vstream.h qmgr_deliver.o: qmgr.h qmgr_deliver.o: qmgr_deliver.c +qmgr_enable.o: ../../include/argv.h +qmgr_enable.o: ../../include/dict.h qmgr_enable.o: ../../include/dsn.h qmgr_enable.o: ../../include/dsn_buf.h +qmgr_enable.o: ../../include/maps.h qmgr_enable.o: ../../include/msg.h qmgr_enable.o: ../../include/recipient_list.h qmgr_enable.o: ../../include/scan_dir.h @@ -176,12 +192,15 @@ qmgr_enable.o: ../../include/vstream.h qmgr_enable.o: ../../include/vstring.h qmgr_enable.o: qmgr.h qmgr_enable.o: qmgr_enable.c +qmgr_entry.o: ../../include/argv.h qmgr_entry.o: ../../include/attr.h qmgr_entry.o: ../../include/deliver_request.h +qmgr_entry.o: ../../include/dict.h qmgr_entry.o: ../../include/dsn.h qmgr_entry.o: ../../include/dsn_buf.h qmgr_entry.o: ../../include/events.h qmgr_entry.o: ../../include/mail_params.h +qmgr_entry.o: ../../include/maps.h qmgr_entry.o: ../../include/msg.h qmgr_entry.o: ../../include/msg_stats.h qmgr_entry.o: ../../include/mymalloc.h @@ -205,9 +224,11 @@ qmgr_message.o: ../../include/dsn_attr_map.h qmgr_message.o: ../../include/dsn_buf.h qmgr_message.o: ../../include/dsn_mask.h qmgr_message.o: ../../include/iostuff.h +qmgr_message.o: ../../include/mail_addr_find.h qmgr_message.o: ../../include/mail_params.h qmgr_message.o: ../../include/mail_proto.h qmgr_message.o: ../../include/mail_queue.h +qmgr_message.o: ../../include/maps.h qmgr_message.o: ../../include/msg.h qmgr_message.o: ../../include/msg_stats.h qmgr_message.o: ../../include/myflock.h @@ -232,10 +253,13 @@ qmgr_message.o: ../../include/vstream.h qmgr_message.o: ../../include/vstring.h qmgr_message.o: qmgr.h qmgr_message.o: qmgr_message.c +qmgr_move.o: ../../include/argv.h +qmgr_move.o: ../../include/dict.h qmgr_move.o: ../../include/dsn.h qmgr_move.o: ../../include/dsn_buf.h qmgr_move.o: ../../include/mail_queue.h qmgr_move.o: ../../include/mail_scan_dir.h +qmgr_move.o: ../../include/maps.h qmgr_move.o: ../../include/msg.h qmgr_move.o: ../../include/recipient_list.h qmgr_move.o: ../../include/scan_dir.h @@ -245,11 +269,14 @@ qmgr_move.o: ../../include/vstream.h qmgr_move.o: ../../include/vstring.h qmgr_move.o: qmgr.h qmgr_move.o: qmgr_move.c +qmgr_queue.o: ../../include/argv.h +qmgr_queue.o: ../../include/dict.h qmgr_queue.o: ../../include/dsn.h qmgr_queue.o: ../../include/dsn_buf.h qmgr_queue.o: ../../include/events.h qmgr_queue.o: ../../include/htable.h qmgr_queue.o: ../../include/mail_params.h +qmgr_queue.o: ../../include/maps.h qmgr_queue.o: ../../include/msg.h qmgr_queue.o: ../../include/mymalloc.h qmgr_queue.o: ../../include/recipient_list.h @@ -260,9 +287,12 @@ qmgr_queue.o: ../../include/vstream.h qmgr_queue.o: ../../include/vstring.h qmgr_queue.o: qmgr.h qmgr_queue.o: qmgr_queue.c +qmgr_scan.o: ../../include/argv.h +qmgr_scan.o: ../../include/dict.h qmgr_scan.o: ../../include/dsn.h qmgr_scan.o: ../../include/dsn_buf.h qmgr_scan.o: ../../include/mail_scan_dir.h +qmgr_scan.o: ../../include/maps.h qmgr_scan.o: ../../include/msg.h qmgr_scan.o: ../../include/mymalloc.h qmgr_scan.o: ../../include/recipient_list.h @@ -273,7 +303,9 @@ qmgr_scan.o: ../../include/vstream.h qmgr_scan.o: ../../include/vstring.h qmgr_scan.o: qmgr.h qmgr_scan.o: qmgr_scan.c +qmgr_transport.o: ../../include/argv.h qmgr_transport.o: ../../include/attr.h +qmgr_transport.o: ../../include/dict.h qmgr_transport.o: ../../include/dsn.h qmgr_transport.o: ../../include/dsn_buf.h qmgr_transport.o: ../../include/events.h @@ -282,6 +314,7 @@ qmgr_transport.o: ../../include/iostuff.h qmgr_transport.o: ../../include/mail_conf.h qmgr_transport.o: ../../include/mail_params.h qmgr_transport.o: ../../include/mail_proto.h +qmgr_transport.o: ../../include/maps.h qmgr_transport.o: ../../include/msg.h qmgr_transport.o: ../../include/mymalloc.h qmgr_transport.o: ../../include/recipient_list.h diff --git a/postfix/src/oqmgr/qmgr.c b/postfix/src/oqmgr/qmgr.c index e91947b8d..319b56120 100644 --- a/postfix/src/oqmgr/qmgr.c +++ b/postfix/src/oqmgr/qmgr.c @@ -328,12 +328,16 @@ int var_local_rcpt_lim; /* XXX */ int var_local_con_lim; /* XXX */ int var_proc_limit; bool var_verp_bounce_off; -bool var_sender_routing; int var_qmgr_clog_warn_time; +char *var_snd_relay_maps; +char *var_vrfy_relay_maps; static QMGR_SCAN *qmgr_incoming; static QMGR_SCAN *qmgr_deferred; +MAPS *qmgr_snd_relay_maps; +MAPS *qmgr_vrfy_relay_maps; + /* qmgr_deferred_run_event - queue manager heartbeat */ static void qmgr_deferred_run_event(int unused_event, char *dummy) @@ -484,6 +488,12 @@ static void pre_accept(char *unused_name, char **unused_argv) static void qmgr_pre_init(char *unused_name, char **unused_argv) { flush_init(); + if (*var_snd_relay_maps) + qmgr_snd_relay_maps = + maps_create(VAR_SND_RELAY_MAPS, var_snd_relay_maps, 0); + if (*var_vrfy_relay_maps) + qmgr_vrfy_relay_maps = + maps_create(VAR_VRFY_RELAY_MAPS, var_vrfy_relay_maps, 0); } /* qmgr_post_init - post-jail initialization */ @@ -532,6 +542,8 @@ int main(int argc, char **argv) { static CONFIG_STR_TABLE str_table[] = { VAR_DEFER_XPORTS, DEF_DEFER_XPORTS, &var_defer_xports, 0, 0, + VAR_SND_RELAY_MAPS, DEF_SND_RELAY_MAPS, &var_snd_relay_maps, 0, 0, + VAR_VRFY_RELAY_MAPS, DEF_VRFY_RELAY_MAPS, &var_vrfy_relay_maps, 0, 0, 0, }; static CONFIG_TIME_TABLE time_table[] = { @@ -559,7 +571,6 @@ int main(int argc, char **argv) static CONFIG_BOOL_TABLE bool_table[] = { VAR_ALLOW_MIN_USER, DEF_ALLOW_MIN_USER, &var_allow_min_user, VAR_VERP_BOUNCE_OFF, DEF_VERP_BOUNCE_OFF, &var_verp_bounce_off, - VAR_SENDER_ROUTING, DEF_SENDER_ROUTING, &var_sender_routing, 0, }; diff --git a/postfix/src/oqmgr/qmgr.h b/postfix/src/oqmgr/qmgr.h index 5966b8df8..2630116bb 100644 --- a/postfix/src/oqmgr/qmgr.h +++ b/postfix/src/oqmgr/qmgr.h @@ -25,6 +25,7 @@ */ #include