 1 000 000 messages with good performance unlikely above that limit 
 10 10 Mandatory configuration file edits
 11 11 To chroot or not to chroot
 12 12 Care and feeding of the Postfix system
14 rbl_domain rbl_reason rbl_reason 
168 100 189 2 255 255 255 224
18 rbl_domain rbl_reason rbl_reason 
 1 ffff ffff ffff ffff ffff ffff ffff ffff
2001 240 587 0 2d0 b7ff fe88 2ca7 ffff ffff ffff ffff 
 31 sasldb Accounts are stored stored in a Cyrus SASL Berkeley DB
 33 ldapdb Accounts are stored stored in an LDAP database
 4 yes yes yes never 100 
5 postmaster postmaster example com
5 root root localhost
6 abuse abuse example com
80821 S 0 00 24 smtpd n smtp t inet u c o stress yes
83326 S 0 00 28 smtpd n smtp t inet u c o stress 
84345 Ss 0 00 11 usr bin perl usr libexec postfix smtpd policy pl
 8 SENDMAIL usr sbin sendmail G i NEVER NEVER NEVER use t here 
address localpart as per RFC 822 so that additional or or 
all  all Maximum per destination delivery concurrency
and cost cost 1 times more than if the preemptive scheduler was
 and sneak in the ten recipient mail Wait wait wait Could we Aren t
 aNULL aNULL kEECDH kEDH RC4 eNULL EXPORT LOW STRENGTH 
Arrival Date Sun 26 Nov 2006 17 01 01 0500 EST 
attacks with user domain domain addresses when Postfix provides
authzTo authzTo dn regex uniqueIdentifier ou people dc example dc com
 AUXLIBS AUXLIBS options for LDAP or TLS etc 
blockquote  blockquote 
 broken smtp smtp o smtp_quote_rfc821_envelope no
ccert_fingerprint C2 9D F4 87 71 73 73 D9 18 E7 C2 F3 C1 DA 6E 04
command_directory command_directory
 concurrency concurrency limit
config_directory config_directory
daemon_directory daemon_directory
data_directory data_directory
Date Sun 26 Nov 2006 17 01 01 0500 EST 
dd  dd Alternatively check_ccert_access accepts an explicit search
dd  dd check_ccert_access type table search_order cert_fingerprint 
dd  dd The commas are optional dd 
dd  dd The default algorithm is b sha256 b with Postfix ge 3 6
 dd No TLS TLS will not be used unless enabled for specific
Dec 4 04 30 09 hostname postfix smtpd 58549 NOQUEUE reject 
 default_transport uucp uucp gateway
Documentation  Documentation is available as README files start with the file
done  done
done done
 dt b a name check_address_map check_address_map a i a href DATABASE_RE
 dt b a name check_ccert_access check_ccert_access a i a href DATABASE_
 dt b a name check_client_a_access check_client_a_access a i a href DAT
 dt b a name check_client_access check_client_access a i a href DATABAS
 dt b a name check_client_mx_access check_client_mx_access a i a href D
 dt b a name check_client_ns_access check_client_ns_access a i a href D
 dt b a name check_etrn_access check_etrn_access a i a href DATABASE_RE
 dt b a name check_helo_a_access check_helo_a_access a i a href DATABAS
 dt b a name check_helo_access check_helo_access a i a href DATABASE_RE
 dt b a name check_helo_mx_access check_helo_mx_access a i a href DATAB
 dt b a name check_helo_ns_access check_helo_ns_access a i a href DATAB
 dt b a name check_policy_service check_policy_service i servername i a 
 dt b a name check_recipient_a_access check_recipient_a_access a i a hre
 dt b a name check_recipient_access check_recipient_access a i a href D
 dt b a name check_recipient_mx_access check_recipient_mx_access a i a h
 dt b a name check_recipient_ns_access check_recipient_ns_access a i a h
 dt b a name check_sasl_access check_sasl_access a i a href DATABASE_RE
 dt b a name check_sender_a_access check_sender_a_access a i a href DAT
 dt b a name check_sender_access check_sender_access a i a href DATABAS
 dt b a name check_sender_mx_access check_sender_mx_access a i a href D
 dt b a name check_sender_ns_access check_sender_ns_access a i a href D
 dt b a name defer defer a b dt 
 dt b a name defer_if_permit defer_if_permit a b dt 
 dt b a name defer_if_reject defer_if_reject a b dt 
 dt b a name defer_unauth_destination defer_unauth_destination a b dt 
 dt b a name no_address_mappings no_address_mappings a b dt 
 dt b a name no_header_body_checks no_header_body_checks a b dt 
 dt b a name no_milters no_milters a b dt 
 dt b a name no_unknown_recipient_checks no_unknown_recipient_checks a b 
 dt b a name permit_auth_destination permit_auth_destination a b dt 
 dt b a name permit_dnswl_client permit_dnswl_client i dnswl_domain d d d d
 dt b a name permit_inet_interfaces permit_inet_interfaces a b dt 
 dt b a name permit_mx_backup permit_mx_backup a b dt 
 dt b a name permit_mynetworks permit_mynetworks a b dt 
 dt b a name permit permit a b dt 
 dt b a name permit_rhswl_client permit_rhswl_client i rhswl_domain d d d d
 dt b a name permit_sasl_authenticated permit_sasl_authenticated a b dt
 dt b a name permit_tls_all_clientcerts permit_tls_all_clientcerts a b 
 dt b a name permit_tls_clientcerts permit_tls_clientcerts a b dt 
 dt b a name reject_invalid_helo_hostname reject_invalid_helo_hostname a 
 dt b a name reject_multi_recipient_bounce reject_multi_recipient_bounce a 
 dt b a name reject_non_fqdn_helo_hostname reject_non_fqdn_helo_hostname a 
 dt b a name reject_non_fqdn_recipient reject_non_fqdn_recipient a b dt
 dt b a name reject_non_fqdn_sender reject_non_fqdn_sender a b dt 
 dt b a name reject_plaintext_session reject_plaintext_session a b dt 
 dt b a name reject_rbl_client reject_rbl_client i rbl_domain d d d d i 
 dt b a name reject reject a b dt 
 dt b a name reject_rhsbl_client reject_rhsbl_client i rbl_domain d d d d 
 dt b a name reject_rhsbl_helo reject_rhsbl_helo i rbl_domain d d d d i 
 dt b a name reject_rhsbl_recipient reject_rhsbl_recipient i rbl_domain d d
 dt b a name reject_rhsbl_reverse_client reject_rhsbl_reverse_client i rbl_
 dt b a name reject_rhsbl_sender reject_rhsbl_sender i rbl_domain d d d d 
 dt b a name reject_sender_login_mismatch reject_sender_login_mismatch a 
 dt b a name reject_unauth_destination reject_unauth_destination a b dt
 dt b a name reject_unauth_pipelining reject_unauth_pipelining a b dt 
 dt b a name reject_unknown_client_hostname reject_unknown_client_hostname 
 dt b a name reject_unknown_helo_hostname reject_unknown_helo_hostname a 
 dt b a name reject_unknown_recipient_domain reject_unknown_recipient_domain
 dt b a name reject_unknown_sender_domain reject_unknown_sender_domain a 
 dt b a name reject_unlisted_recipient reject_unlisted_recipient a b wi
 dt b a name reject_unlisted_sender reject_unlisted_sender a b dt 
 dt b a name reject_unverified_recipient reject_unverified_recipient a b 
 dt b a name reject_unverified_sender reject_unverified_sender a b dt 
 dt b a name sleep sleep i seconds i a b dt 
 dt b a name warn_if_reject warn_if_reject a b dt 
dt  dt b i a href DATABASE_README html type table a i b dt 
dt  dt b i number i i number i b dt 
 dt dt dd 0 Disable logging of TLS activity dd 
 dt dt dd 1 Log only a summary message on TLS handshake completion
 dt dt dd 2 Also log levels during TLS negotiation dd 
 dt dt dd 3 Also log hexadecimal and ASCII dump of TLS negotiation
 dt dt dd 4 Also log hexadecimal and ASCII dump of complete
 dude dude example com 
 eliminates the latency of the TCP handshake SYN SYN ACK ACK 
 example com uucp uucp host
 example MAIL RCPT BDAT BDAT MAIL RCPT BDAT without ever having to
 export MANPATH MANPATH pwd man MANPATH 
fe80 1 2d0 b7ff fe88 2ca7 ffff ffff ffff ffff 
fe80 5 1 ffff ffff ffff ffff 
file allows for robust handling of temporary delivery errors errors
Filtered  Filtered
for the file name when a pattern is a type table table specification 
from host example com 192 168 0 2 TLSv1 with cipher cipher name
generic generic a restrictions These restrictions are applicable in
 groups msn com 63 2 1 2 4 4 14 14 14 8 0
 highvolume com 4000 160 160 320 640 1280 1440 0 0 0 0
host host port host port address or address port the form
 http www umich edu dirsvcs ldap ldap html or OpenLDAP
 id 84863BC0E5 Sun 26 Nov 2006 17 01 01 0500 EST 
 if concurrency concurrency limit 
 ifconfig en0 alias address netmask 255 255 255 255
 inet_addr_local inet_addr_local configured 2 IPv4 addresses
 inet_addr_local inet_addr_local configured 4 IPv6 addresses
insiders_only  insiders_only check_sender_access hash etc postfix insiders reject
in the form of a domain name hostname hostname port hostname port 
into memory such as pcre regexp or texthash texthash is similar
 jane jane janes preferred machine
 joe joe joes preferred machine
 Line 8 NEVER NEVER NEVER use the t command line option here It
listname  listname request 
 lists sourceforge net 2313 2313 0 0 0 0 0 0 0 0
local  local 8 
local_only  local_only 
maildrop  maildrop 
maildrop  maildrop owner cn root dc your dc com 
make  make makefiles CC opt ansic bin cc Ae HP UX 
make  make makefiles CC purify cc 
 man man man5 postconf 5 less 
master_service_disable foo inet inet
multi_instance_enable multi_instance_enable
multi_instance_group multi_instance_group
multi_instance_name multi_instance_name
mydestination myhostname localhost mydomain mydomain
 mydomain to an incomplete address address rewriting alias
mynetworks mynetworks 127 0 0 0 8 168 100 189 0 28 1 128 fe80 10 2001 240 587 
mynetworks mynetworks hash etc postfix network_table
Name lt user example com gt gt i Postfix will ignore the i User
 name name port name or name port 
 NOTE Postfix 3 6 also introduces support for the level level 
number number ranges Postfix version 2 8 and later If no
numbers or number number ranges Postfix version 2 8 and later 
one or more separated numbers or number number ranges 
 openssl req new key key 
or more separated numbers or number number ranges p 
or number number ranges Postfix version 2 8 and later If no
 ownership of system directories such as etc usr usr bin var
 PARAM postscreen_dnsbl_max_ttl postscreen_dnsbl_ttl postscreen_dnsbl_ttl 
 patterns list multiple domain names as domain domain 
 p Note 2 address information may be enclosed inside tt tt 
 postfix 12345 12345 postfix no where no shell
 Postfix 2 3 2 5 to hang up on clients that that match
 Postfix has TWO sets of mail filters filters that are used for
Postfix  Postfix can use an LDAP directory as a source for any of its lookups 
 Postfix Postfix passes the status back to the remote SMTP
 Postfix Postfix will send the mail back to the sender address 
pre  pre 
query_filter mailacceptinggeneralid s maildrop maildrop 
queue_directory queue_directory
Received from localhost localhost 127 0 0 1 
Received  Received from porcupine org 
rejected  rejected recipients are available on request by the Milter
 rewrite 8 none none
 Say we have ten recipient mail followed by two two recipient mails If
 separated numbers or number number ranges If no
smtpd_recipient_restrictions smtpd_recipient_restrictions 
smtpd_relay_restrictions  smtpd_relay_restrictions 
smtpd_relay_restrictions smtpd_relay_restrictions 
 smtpd_tls_mandatory_protocols SSLv2 SSLv3 TLSv1 TLSv1 1
smtpd_tls_mandatory_protocols SSLv2 SSLv3 TLSv1 TLSv1 1
 smtp smtp o smtp_bind_address 11 22 33 44
 smtp smtp o smtp_bind_address6 1 2 3 4 5 6 7 8
 smtp_tls_mandatory_protocols SSLv2 SSLv3 TLSv1 TLSv1 1
smtp_tls_mandatory_protocols SSLv2 SSLv3 TLSv1 TLSv1 1
 SSLv3 TLSv1 TLSv1 1 TLSv1 2 and TLSv1 3 Starting with
 T 5 10 20 40 80 160 320 640 1280 1280 
 T A 5 10 20 40 80 160 320 320 
Therefore 301 0301 0x301 and 0x0301 are all equivalent to
 The syntax of name value value name value and name value 
the  the backed up domain tld domain This prevents your mail queue
 tls_random_source dev dev urandom
 tls_random_source dev dev urandom 
tls_random_source dev dev urandom
TLS  TLS support in the LMTP delivery agent
 TLSv1 3 with cipher TLS_AES_256_GCM_SHA384 256 256 bits 
 to flush flush 8 Deferred
to host example com 192 168 0 2 25 TLSv1 with cipher cipher name
 to server example TLSv1 3 with cipher TLS_AES_256_GCM_SHA384 256 256 bits 
 TOTAL 5000 200 200 400 800 1600 1000 200 200 200 200
transport transport 
 tt tt in the authorized_verp_clients value and in files
 tt tt in the mynetworks value and in files specified with
 tt tt in the smtpd_authorized_verp_clients value and in
 tt tt in the smtpd_authorized_xclient_hosts value and in
 tt tt in the smtpd_authorized_xforward_hosts value and in
 tt tt in the smtpd_client_event_limit_exceptions value and
 tt tt in the smtpd_sasl_exceptions_networks value and in
 tt tt p 
two  two recipient mails 
 uid cn cn auth
Unfiltered  Unfiltered 
 unknown recipients in local domains domains that match mydestination
 Use blockquote pre pre blockquote for examples
 Use pre pre for the Examples section at the end
username username
 user sourceforge net 7678 7678 0 0 0 0 0 0 0 0
 using TLSv1 3 with cipher TLS_AES_256_GCM_SHA384 256 256 bits 
 using TLSv1 with cipher cipher name
var  var spool and so on This is especially an issue if you executed
With the standard operators lt lt etc compatibility
 yes yes yes never 100 
zombie  zombie tlsproxy 8 smtpd 8 
 and 1 000 000 messages with good performance unlikely above that
dt  dt b name value b Postfix ge 3 0 dt 
 dt dt dd 3 Also log the hexadecimal and ASCII dump of the
 dt dt dd 4 Also log the hexadecimal and ASCII dump of complete
 parametername stress something something Other
 p Note on OpenBSD systems specify dev dev arandom when dev dev urandom
 user3 example net smtp smtp relay example net submission 
 virtual_alias_maps hash etc postfix virtual virtual aliasing 
system_wide_settings  system_wide_settings 
ssl_library_settings  ssl_library_settings 
initial_ssl_settings  initial_ssl_settings 
postfix_settings  postfix_settings 
postfix_ssl_settings  postfix_ssl_settings 
baseline_postfix_settings  baseline_postfix_settings 
 The and match and literally Without the the
 The matches literally Without the the would
 The example is simplified for educational purposes In reality my patterns list multiple domain names as domain domain 
 The matches literally Without the the would match any character 
 The and match and literally Without the the and would be grouping operators 
 The matches literally Without the the would match any character 
 pipeline all commands following EHLO for example MAIL RCPT BDAT BDAT MAIL RCPT BDAT without ever having to wait for a server response This means that with BDAT the Postfix SMTP server cannot distinguish between a well behaved client and a
 NOTE Postfix 3 6 also introduces support for the level level and other operators to compare compatibility levels With the standard operators etc compatibility level 3 10 would be smaller than 3 9 which is undesirable 
 Otherwise the benefits of SMTP connection caching are minor it eliminates the latency of the TCP handshake SYN SYN ACK ACK plus the latency of the SMTP initial handshake 220 greeting EHLO command EHLO response With TLS encrypted
 Otherwise the benefits of SMTP connection caching are minor it eliminates the latency of the TCP handshake SYN SYN ACK ACK plus the latency of the SMTP initial handshake 220 greeting EHLO command EHLO response With TLS encrypted
 3 Reject the mail by sending a suitable status code back to Postfix Postfix will send the mail back to the sender address 
 Line 8 NEVER NEVER NEVER use the t command line option here It will mis deliver mail like sending messages from a mailing list back to the mailing list 
 Line 8 NEVER NEVER NEVER use the t command line option here It will mis deliver mail like sending messages from a mailing list back to the mailing list 
Documentation  Documentation is available as README files start with the file README_FILES AAAREADME as HTML web pages point your browser to html index html and as UNIX style manual pages 
 Parameters whose defaults can be specified in this way are listed below See the postconf 5 manpage for a description command nroff man man man5 postconf 5 less 
 Parameters whose defaults can be specified in this way are listed below See the postconf 5 manpage for a description command nroff man man man5 postconf 5 less 
mynetworks mynetworks 127 0 0 0 8 168 100 189 0 28 1 128 fe80 10 2001 240 587 64
Postfix  Postfix can use an LDAP directory as a source for any of its lookups aliases 5 virtual 5 canonical 5 etc This allows you to keep information for your mail service in a replicated network database with fine grained access controls By not
 If you re using the libraries from the UM distribution http www umich edu dirsvcs ldap ldap html or OpenLDAP http www openldap org something like this in the top level of your Postfix source tree should work 
query_filter mailacceptinggeneralid s maildrop maildrop maildrop 
query_filter mailacceptinggeneralid s maildrop maildrop maildrop 
query_filter mailacceptinggeneralid s maildrop maildrop maildrop owner cn root dc your dc com 
query_filter mailacceptinggeneralid s maildrop maildrop maildrop owner cn root dc your dc com 
 As of Postfix version 2 0 the Postfix SMTP server rejects mail for unknown recipients in local domains domains that match mydestination or the IP addresses in inet_interfaces or proxy_interfaces with User unknown in local recipient table 
 Postfix emulates a limited number of Sendmail macros as shown in the table Some macro values depend on whether a recipient is rejected rejected recipients are available on request by the Milter application Different macros are available at
 Postfix has TWO sets of mail filters filters that are used for SMTP mail only specified with the smtpd_milters parameter and filters for non SMTP mail specified with the non_smtpd_milters parameter The non SMTP filters are primarily for
 etc usr usr bin var var spool and so on This is especially an issue if you executed postfix install see above as an unprivileged user 
 etc usr usr bin var var spool and so on This is especially an issue if you executed postfix install see above as an unprivileged user 
 parametername stress something stress something or parametername stress something something Other parameters always evaluate as if the stress value is the empty string 
 parametername stress something stress something or parametername stress something something Other parameters always evaluate as if the stress value is the empty string 
 more CPU faster disks and more network bandwidth can deal with larger deferred queues but as a rule of thumb the deferred queue scales to somewhere between 100 000 and 1 000 000 messages with good performance unlikely above that limit 
 31 sasldb Accounts are stored stored in a Cyrus SASL Berkeley DB database
 assigned to the delivery slots might look like this 12131415 Hmm fine for sneaking in the single recipient mail but how do we sneak in the mail with more than one recipient Say if we have one four recipient mail followed by two two recipient
 we see the hundred recipient job can accumulate ten free delivery slots and then we could preempt it and sneak in the ten recipient mail Wait wait wait Could we Aren t we overinflating the original one thousand recipient mail 
 The truth is that it turns out that it is not really necessary to wait until the jobs counter accumulates all the delivery slots in advance Say we have ten recipient mail followed by two two recipient mails If the preemption happened when enough
 Disallowing RFC 822 address syntax example MAIL FROM the dude dude example com 
 3 Reject the mail by sending a suitable SMTP status code back to Postfix Postfix passes the status back to the remote SMTP client This way Postfix does not have to send a bounce message 
 Lines 14 18 Define the list of valid addresses in the the backed up domain tld domain This prevents your mail queue from filling up with undeliverable MAILER DAEMON messages If you can t maintain a list of valid recipients then you must
 The syntax of name value value name value and name value is explained at the beginning of the postconf 5 manual page 
 Use 521 SMTP reply codes Postfix 2 6 and later or 421 Postfix 2 3 2 5 to hang up on clients that that match botnet related RBLs see next bullet or that match selected non RBL restrictions such as SMTP access maps The Postfix SMTP
 the next hop destination can have the Postfix specific form name name port name or name port 
 dt b a name no_unknown_recipient_checks no_unknown_recipient_checks a b dt 
 dt b a name check_ccert_access check_ccert_access a i a href DATABASE_README html type table a i b dt 
 dt b a name check_client_access check_client_access a i a href DATABASE_README html type table a i b dt 
 dt b a name check_client_a_access check_client_a_access a i a href DATABASE_README html type table a i b dt 
 dt b a name check_client_mx_access check_client_mx_access a i a href DATABASE_README html type table a i b dt 
 dt b a name check_client_ns_access check_client_ns_access a i a href DATABASE_README html type table a i b dt 
 dt b a name check_reverse_client_hostname_access check_reverse_client_hostname_access a i a href DATABASE_README html type table a i b dt 
 dt b a name check_reverse_client_hostname_a_access check_reverse_client_hostname_a_access a i a href DATABASE_README html type table a i b dt 
 dt b a name check_reverse_client_hostname_mx_access check_reverse_client_hostname_mx_access a i a href DATABASE_README html type table a i b dt 
 dt b a name check_reverse_client_hostname_ns_access check_reverse_client_hostname_ns_access a i a href DATABASE_README html type table a i b dt 
 dt b a name check_sasl_access check_sasl_access a i a href DATABASE_README html type table a i b dt 
 dt b a name permit_sasl_authenticated permit_sasl_authenticated a b dt 
 dt b a name permit_tls_all_clientcerts permit_tls_all_clientcerts a b dt 
 dt b a name reject_rbl_client reject_rbl_client i rbl_domain d d d d i a b dt 
 dt b a name permit_dnswl_client permit_dnswl_client i dnswl_domain d d d d i a b dt 
 dt b a name reject_rhsbl_client reject_rhsbl_client i rbl_domain d d d d i a b dt 
 dt b a name permit_rhswl_client permit_rhswl_client i rhswl_domain d d d d i a b dt 
 dt b a name reject_rhsbl_reverse_client reject_rhsbl_reverse_client i rbl_domain d d d d i a b dt 
 dt b a name reject_unknown_client_hostname reject_unknown_client_hostname a b with Postfix lt 2 3 reject_unknown_client dt 
 dt b a name reject_unknown_reverse_client_hostname reject_unknown_reverse_client_hostname a b dt 
 dt b a name reject_unknown_forward_client_hostname reject_unknown_forward_client_hostname a b dt 
 dt b a name check_policy_service check_policy_service i servername i a b dt 
 dt b a name reject_multi_recipient_bounce reject_multi_recipient_bounce a b dt 
 dt b a name check_etrn_access check_etrn_access a i a href DATABASE_README html type table a i b dt 
 dt b a name check_helo_access check_helo_access a i a href DATABASE_README html type table a i b dt 
 dt b a name check_helo_a_access check_helo_a_access a i a href DATABASE_README html type table a i b dt 
 dt b a name check_helo_mx_access check_helo_mx_access a i a href DATABASE_README html type table a i b dt 
 dt b a name check_helo_ns_access check_helo_ns_access a i a href DATABASE_README html type table a i b dt 
 dt b a name reject_invalid_helo_hostname reject_invalid_helo_hostname a b with Postfix lt 2 3 reject_invalid_hostname dt 
 dt b a name reject_non_fqdn_helo_hostname reject_non_fqdn_helo_hostname a b with Postfix lt 2 3 reject_non_fqdn_hostname dt 
 dt b a name reject_rhsbl_helo reject_rhsbl_helo i rbl_domain d d d d i a b dt 
 dt b a name reject_unknown_helo_hostname reject_unknown_helo_hostname a b with Postfix lt 2 3 reject_unknown_hostname dt 
 dt b a name check_recipient_access check_recipient_access a i a href DATABASE_README html type table a i b dt 
 dt b a name check_recipient_a_access check_recipient_a_access a i a href DATABASE_README html type table a i b dt 
 dt b a name check_recipient_mx_access check_recipient_mx_access a i a href DATABASE_README html type table a i b dt 
 dt b a name check_recipient_ns_access check_recipient_ns_access a i a href DATABASE_README html type table a i b dt 
 dt b a name reject_non_fqdn_recipient reject_non_fqdn_recipient a b dt 
 dt b a name reject_rhsbl_recipient reject_rhsbl_recipient i rbl_domain d d d d i a b dt 
 dt b a name reject_unauth_destination reject_unauth_destination a b dt 
 dt b a name reject_unknown_recipient_domain reject_unknown_recipient_domain a b dt 
 dt b a name reject_unlisted_recipient reject_unlisted_recipient a b with Postfix version 2 0 check_recipient_maps dt 
 dt b a name reject_unverified_recipient reject_unverified_recipient a b dt 
 dt b a name check_sender_access check_sender_access a i a href DATABASE_README html type table a i b dt 
 dt b a name check_sender_a_access check_sender_a_access a i a href DATABASE_README html type table a i b dt 
 dt b a name check_sender_mx_access check_sender_mx_access a i a href DATABASE_README html type table a i b dt 
 dt b a name check_sender_ns_access check_sender_ns_access a i a href DATABASE_README html type table a i b dt 
 dt b a name reject_authenticated_sender_login_mismatch reject_authenticated_sender_login_mismatch a b dt 
 dt b a name reject_known_sender_login_mismatch reject_known_sender_login_mismatch a b dt 
 dt b a name reject_rhsbl_sender reject_rhsbl_sender i rbl_domain d d d d i a b dt 
 dt b a name reject_sender_login_mismatch reject_sender_login_mismatch a b dt 
 dt b a name reject_unauthenticated_sender_login_mismatch reject_unauthenticated_sender_login_mismatch a b dt 
 dt b a name reject_unknown_sender_domain reject_unknown_sender_domain a b dt 
 dt b a name check_address_map check_address_map a i a href DATABASE_README html type table a i b dt 
 PARAM postscreen_dnsbl_max_ttl postscreen_dnsbl_ttl postscreen_dnsbl_ttl 1 h
standard lt CR gt lt LF gt br br This maintains compatibility
 lt CR gt lt LF gt lt CR gt lt LF gt br br Such clients
 smtpd_forbid_bare_newline_reject_code br br This will reject
 br br This will also reject some email from Microsoft services
2045 Sections 2 7 and 2 8 br br Such clients can be excluded
 br br This will also reject email from services that use BDAT
RFC 2045 Sections 2 7 and 2 8 br br Such clients can be
to become a list of comma separated names br br This feature
the form of a domain name hostname hostname service hostname service 
expected to become a list of comma separated names br br This
Postfix  Postfix can use MongoDB as a source for any of its lookups aliases 5 virtual 5 canonical 5 etc This allows you to keep information for your mail service in a replicated noSQL database with fine grained access controls By not storing it
 CCARGS CCARGS DHAS_MONGODB I usr include libmongoc 1 0 
 dt dt dd 2 Also enable verbose logging in the Postfix TLS
Postfix  Postfix legacy TLS Support
 var run tlsrpt tlsrpt sock Relative names will work with and without Postfix chroot support Do not specify a location under a directory such as private or public that is already used by Postfix programs Only Postfix programs should create
 Note the recommended socket location is still to be determined A good socket location would be under the Postfix queue directory for example smtp_tlsrpt_socket_name run tlsrpt tlsrpt sock The advantage of using a relative name is that
 with cipher ECDHE RSA AES256 GCM SHA384 256 256 bits 
 TLSv1 2 with cipher ECDHE RSA AES256 GCM SHA384 256 256 bits 
 The recommended socket location is still to be determined A good socket location would be under the Postfix queue directory for example smtp_tlsrpt_socket_name run tlsrpt tlsrpt sock The advantage of using a relative name is that it
enhanced status code and text format 45 number number text 
opportunistic  opportunistic starttls
 li The general format is tls feature feature 
 li p The general format is tt tls feature feature tt 
 li p When a feature is enclosed in tt tt and tt tt 
 li p When tt tt is prepended to a feature the policy
 tt none tt tt may tt tt encrypt tt etc Other
 tt tls i level i requiretls tt where tt tt 
where tt tt indicates the kind of policy violation described
tt  tt tls i level i requiretls noencryption tt or
 xn mumble mumble Punycode A label form that Postfix needs 
 xn mumble mumble Punycode A label form that Postfix needs Note if you specify the domain list outside main cf then the automatic name expansions and Punycode conversions will not happen you will need to enter real domain names and will
 pre pre 
 contains the xn mumble mumble Punycode A label form that Postfix needs 
 domain_to_ascii returns the xn mumble mumble Punycode A label form that Postfix needs This works around a limitation that may be eliminated in a future Postfix version 
smtp_requiretls_policy smtp_requiretls_policy inline 
 xn mumble mumble Punycode A label form that Postfix needs This works around a limitation that may be eliminated in a future Postfix version 
in tt tt p 
mynetworks mynetworks lmdb etc postfix network_table
 44 enable redirect redirect hash to lmdb or cdb 
 90 type_name unionmap static one fail fail 
132 for cpp tp want_log cpp tp want_log MAX_WANT_LOG cpp cpp 
184 test_map_search test_map_search 
 void ptest_defer PTEST_CTX t void defer_fn void void defer_ctx 
130 type_name unionmap static one fail fail 
187 for cpp tp want_log cpp tp want_log MAX_WANT_LOG cpp cpp 
 rsasig rsasig rsa_pss_pss_sha256 rsa_pss_pss_sha384 rsa_pss_pss_sha512 
 rsasig rsasig rsa_pkcs1_sha256 rsa_pkcs1_sha384 rsa_pkcs1_sha512 
be in compressed form text text Do not enclose any of these
