14a672054Schristos 1 000 000 messages with good performance unlikely above that limit 24a672054Schristos 10 10 Mandatory configuration file edits 34a672054Schristos 11 11 To chroot or not to chroot 44a672054Schristos 12 12 Care and feeding of the Postfix system 54a672054Schristos14 rbl_domain rbl_reason rbl_reason 64a672054Schristos168 100 189 2 255 255 255 224 74a672054Schristos18 rbl_domain rbl_reason rbl_reason 84a672054Schristos 1 ffff ffff ffff ffff ffff ffff ffff ffff 94a672054Schristos2001 240 587 0 2d0 b7ff fe88 2ca7 ffff ffff ffff ffff 104a672054Schristos 31 sasldb Accounts are stored stored in a Cyrus SASL Berkeley DB 114a672054Schristos 33 ldapdb Accounts are stored stored in an LDAP database 124a672054Schristos 4 yes yes yes never 100 134a672054Schristos5 postmaster postmaster example com 144a672054Schristos5 root root localhost 154a672054Schristos6 abuse abuse example com 164a672054Schristos80821 S 0 00 24 smtpd n smtp t inet u c o stress yes 174a672054Schristos83326 S 0 00 28 smtpd n smtp t inet u c o stress 184a672054Schristos84345 Ss 0 00 11 usr bin perl usr libexec postfix smtpd policy pl 194a672054Schristos 8 SENDMAIL usr sbin sendmail G i NEVER NEVER NEVER use t here 204a672054Schristosaddress localpart as per RFC 822 so that additional or or 214a672054Schristosall all Maximum per destination delivery concurrency 224a672054Schristosand cost cost 1 times more than if the preemptive scheduler was 234a672054Schristos and sneak in the ten recipient mail Wait wait wait Could we Aren t 244a672054Schristos aNULL aNULL kEECDH kEDH RC4 eNULL EXPORT LOW STRENGTH 254a672054SchristosArrival Date Sun 26 Nov 2006 17 01 01 0500 EST 264a672054Schristosattacks with user domain domain addresses when Postfix provides 274a672054SchristosauthzTo authzTo dn regex uniqueIdentifier ou people dc example dc com 284a672054Schristos AUXLIBS AUXLIBS options for LDAP or TLS etc 294a672054Schristosblockquote blockquote 304a672054Schristos broken smtp smtp o smtp_quote_rfc821_envelope no 314a672054Schristosccert_fingerprint C2 9D F4 87 71 73 73 D9 18 E7 C2 F3 C1 DA 6E 04 324a672054Schristoscommand_directory command_directory 334a672054Schristos concurrency concurrency limit 344a672054Schristosconfig_directory config_directory 354a672054Schristosdaemon_directory daemon_directory 364a672054Schristosdata_directory data_directory 374a672054SchristosDate Sun 26 Nov 2006 17 01 01 0500 EST 384a672054Schristosdd dd Alternatively check_ccert_access accepts an explicit search 394a672054Schristosdd dd check_ccert_access type table search_order cert_fingerprint 404a672054Schristosdd dd The commas are optional dd 414a672054Schristosdd dd The default algorithm is b sha256 b with Postfix ge 3 6 424a672054Schristos dd No TLS TLS will not be used unless enabled for specific 434a672054SchristosDec 4 04 30 09 hostname postfix smtpd 58549 NOQUEUE reject 444a672054Schristos default_transport uucp uucp gateway 454a672054Schristos different client IP addresses Lookup results override the the global 464a672054SchristosDocumentation Documentation is available as README files start with the file 474a672054Schristosdone done 484a672054Schristosdone done 494a672054Schristos dt b a name check_address_map check_address_map a i a href DATABASE_RE 504a672054Schristos dt b a name check_ccert_access check_ccert_access a i a href DATABASE_ 514a672054Schristos dt b a name check_client_a_access check_client_a_access a i a href DAT 524a672054Schristos dt b a name check_client_access check_client_access a i a href DATABAS 534a672054Schristos dt b a name check_client_mx_access check_client_mx_access a i a href D 544a672054Schristos dt b a name check_client_ns_access check_client_ns_access a i a href D 554a672054Schristos dt b a name check_etrn_access check_etrn_access a i a href DATABASE_RE 564a672054Schristos dt b a name check_helo_a_access check_helo_a_access a i a href DATABAS 574a672054Schristos dt b a name check_helo_access check_helo_access a i a href DATABASE_RE 584a672054Schristos dt b a name check_helo_mx_access check_helo_mx_access a i a href DATAB 594a672054Schristos dt b a name check_helo_ns_access check_helo_ns_access a i a href DATAB 604a672054Schristos dt b a name check_policy_service check_policy_service i servername i a 614a672054Schristos dt b a name check_recipient_a_access check_recipient_a_access a i a hre 624a672054Schristos dt b a name check_recipient_access check_recipient_access a i a href D 634a672054Schristos dt b a name check_recipient_mx_access check_recipient_mx_access a i a h 644a672054Schristos dt b a name check_recipient_ns_access check_recipient_ns_access a i a h 654a672054Schristos dt b a name check_sasl_access check_sasl_access a i a href DATABASE_RE 664a672054Schristos dt b a name check_sender_a_access check_sender_a_access a i a href DAT 674a672054Schristos dt b a name check_sender_access check_sender_access a i a href DATABAS 684a672054Schristos dt b a name check_sender_mx_access check_sender_mx_access a i a href D 694a672054Schristos dt b a name check_sender_ns_access check_sender_ns_access a i a href D 704a672054Schristos dt b a name defer defer a b dt 714a672054Schristos dt b a name defer_if_permit defer_if_permit a b dt 724a672054Schristos dt b a name defer_if_reject defer_if_reject a b dt 734a672054Schristos dt b a name defer_unauth_destination defer_unauth_destination a b dt 744a672054Schristos dt b a name no_address_mappings no_address_mappings a b dt 754a672054Schristos dt b a name no_header_body_checks no_header_body_checks a b dt 764a672054Schristos dt b a name no_milters no_milters a b dt 774a672054Schristos dt b a name no_unknown_recipient_checks no_unknown_recipient_checks a b 784a672054Schristos dt b a name permit_auth_destination permit_auth_destination a b dt 794a672054Schristos dt b a name permit_dnswl_client permit_dnswl_client i dnswl_domain d d d d 804a672054Schristos dt b a name permit_inet_interfaces permit_inet_interfaces a b dt 814a672054Schristos dt b a name permit_mx_backup permit_mx_backup a b dt 824a672054Schristos dt b a name permit_mynetworks permit_mynetworks a b dt 834a672054Schristos dt b a name permit permit a b dt 844a672054Schristos dt b a name permit_rhswl_client permit_rhswl_client i rhswl_domain d d d d 854a672054Schristos dt b a name permit_sasl_authenticated permit_sasl_authenticated a b dt 864a672054Schristos dt b a name permit_tls_all_clientcerts permit_tls_all_clientcerts a b 874a672054Schristos dt b a name permit_tls_clientcerts permit_tls_clientcerts a b dt 884a672054Schristos dt b a name reject_invalid_helo_hostname reject_invalid_helo_hostname a 894a672054Schristos dt b a name reject_multi_recipient_bounce reject_multi_recipient_bounce a 904a672054Schristos dt b a name reject_non_fqdn_helo_hostname reject_non_fqdn_helo_hostname a 914a672054Schristos dt b a name reject_non_fqdn_recipient reject_non_fqdn_recipient a b dt 924a672054Schristos dt b a name reject_non_fqdn_sender reject_non_fqdn_sender a b dt 934a672054Schristos dt b a name reject_plaintext_session reject_plaintext_session a b dt 944a672054Schristos dt b a name reject_rbl_client reject_rbl_client i rbl_domain d d d d i 954a672054Schristos dt b a name reject reject a b dt 964a672054Schristos dt b a name reject_rhsbl_client reject_rhsbl_client i rbl_domain d d d d 974a672054Schristos dt b a name reject_rhsbl_helo reject_rhsbl_helo i rbl_domain d d d d i 984a672054Schristos dt b a name reject_rhsbl_recipient reject_rhsbl_recipient i rbl_domain d d 994a672054Schristos dt b a name reject_rhsbl_reverse_client reject_rhsbl_reverse_client i rbl_ 1004a672054Schristos dt b a name reject_rhsbl_sender reject_rhsbl_sender i rbl_domain d d d d 1014a672054Schristos dt b a name reject_sender_login_mismatch reject_sender_login_mismatch a 1024a672054Schristos dt b a name reject_unauth_destination reject_unauth_destination a b dt 1034a672054Schristos dt b a name reject_unauth_pipelining reject_unauth_pipelining a b dt 1044a672054Schristos dt b a name reject_unknown_client_hostname reject_unknown_client_hostname 1054a672054Schristos dt b a name reject_unknown_helo_hostname reject_unknown_helo_hostname a 1064a672054Schristos dt b a name reject_unknown_recipient_domain reject_unknown_recipient_domain 1074a672054Schristos dt b a name reject_unknown_sender_domain reject_unknown_sender_domain a 1084a672054Schristos dt b a name reject_unlisted_recipient reject_unlisted_recipient a b wi 1094a672054Schristos dt b a name reject_unlisted_sender reject_unlisted_sender a b dt 1104a672054Schristos dt b a name reject_unverified_recipient reject_unverified_recipient a b 1114a672054Schristos dt b a name reject_unverified_sender reject_unverified_sender a b dt 1124a672054Schristos dt b a name sleep sleep i seconds i a b dt 1134a672054Schristos dt b a name warn_if_reject warn_if_reject a b dt 1144a672054Schristosdt dt b i a href DATABASE_README html type table a i b dt 1154a672054Schristosdt dt b i number i i number i b dt 1164a672054Schristos dt dt dd 0 Disable logging of TLS activity dd 1174a672054Schristos dt dt dd 1 Log only a summary message on TLS handshake completion 1184a672054Schristos dt dt dd 2 Also log levels during TLS negotiation dd 1194a672054Schristos dt dt dd 3 Also log hexadecimal and ASCII dump of TLS negotiation 1204a672054Schristos dt dt dd 4 Also log hexadecimal and ASCII dump of complete 1214a672054Schristos dude dude example com 1224a672054Schristos eliminates the latency of the TCP handshake SYN SYN ACK ACK 1234a672054Schristos example com uucp uucp host 1244a672054Schristos example MAIL RCPT BDAT BDAT MAIL RCPT BDAT without ever having to 1254a672054Schristos export MANPATH MANPATH pwd man MANPATH 1264a672054Schristosfe80 1 2d0 b7ff fe88 2ca7 ffff ffff ffff ffff 1274a672054Schristosfe80 5 1 ffff ffff ffff ffff 1284a672054Schristosfile allows for robust handling of temporary delivery errors errors 1294a672054SchristosFiltered Filtered 1304a672054Schristosfor the file name when a pattern is a type table table specification 1314a672054Schristosfrom host example com 192 168 0 2 TLSv1 with cipher cipher name 1324a672054Schristosgeneric generic a restrictions These restrictions are applicable in 1334a672054Schristos groups msn com 63 2 1 2 4 4 14 14 14 8 0 1344a672054Schristos highvolume com 4000 160 160 320 640 1280 1440 0 0 0 0 1354a672054Schristoshost host port host port address or address port the form 1364a672054Schristos http www umich edu dirsvcs ldap ldap html or OpenLDAP 1374a672054Schristos id 84863BC0E5 Sun 26 Nov 2006 17 01 01 0500 EST 1384a672054Schristos if concurrency concurrency limit 1394a672054Schristos ifconfig en0 alias address netmask 255 255 255 255 1404a672054Schristos inet_addr_local inet_addr_local configured 2 IPv4 addresses 1414a672054Schristos inet_addr_local inet_addr_local configured 4 IPv6 addresses 1424a672054Schristosinsiders_only insiders_only check_sender_access hash etc postfix insiders reject 1434a672054Schristosin the form of a domain name hostname hostname port hostname port 1444a672054Schristosinto memory such as pcre regexp or texthash texthash is similar 1454a672054Schristos jane jane janes preferred machine 1464a672054Schristos joe joe joes preferred machine 1474a672054Schristos Line 8 NEVER NEVER NEVER use the t command line option here It 1484a672054Schristoslistname listname request 1494a672054Schristos lists sourceforge net 2313 2313 0 0 0 0 0 0 0 0 1504a672054Schristoslocal local 8 1514a672054Schristoslocal_only local_only 1524a672054Schristosmaildrop maildrop 1534a672054Schristosmaildrop maildrop owner cn root dc your dc com 1544a672054Schristosmake make makefiles CC opt ansic bin cc Ae HP UX 1554a672054Schristosmake make makefiles CC purify cc 1564a672054Schristos man man man5 postconf 5 less 1574a672054Schristosmaster_service_disable foo inet inet 1584a672054Schristosmulti_instance_enable multi_instance_enable 1594a672054Schristosmulti_instance_group multi_instance_group 1604a672054Schristosmulti_instance_name multi_instance_name 1614a672054Schristosmydestination myhostname localhost mydomain mydomain 1624a672054Schristos mydomain to an incomplete address address rewriting alias 1634a672054Schristosmynetworks mynetworks 127 0 0 0 8 168 100 189 0 28 1 128 fe80 10 2001 240 587 1644a672054Schristosmynetworks mynetworks hash etc postfix network_table 1654a672054SchristosName lt user example com gt gt i Postfix will ignore the i User 1664a672054Schristos name name port name or name port 1674a672054Schristos NOTE Postfix 3 6 also introduces support for the level level 1684a672054Schristosnumber number ranges Postfix version 2 8 and later If no 1694a672054Schristosnumbers or number number ranges Postfix version 2 8 and later 1704a672054Schristosone or more separated numbers or number number ranges 1714a672054Schristos openssl req new key key 1724a672054Schristosor more separated numbers or number number ranges p 1734a672054Schristosor number number ranges Postfix version 2 8 and later If no 1744a672054Schristos ownership of system directories such as etc usr usr bin var 1754a672054Schristos PARAM postscreen_dnsbl_max_ttl postscreen_dnsbl_ttl postscreen_dnsbl_ttl 1764a672054Schristos patterns list multiple domain names as domain domain 1774a672054Schristos p Note 2 address information may be enclosed inside tt tt 1784a672054Schristos postfix 12345 12345 postfix no where no shell 1794a672054Schristos Postfix 2 3 2 5 to hang up on clients that that match 1804a672054Schristos Postfix has TWO sets of mail filters filters that are used for 1814a672054SchristosPostfix Postfix can use an LDAP directory as a source for any of its lookups 1824a672054Schristos Postfix Postfix passes the status back to the remote SMTP 1834a672054Schristos Postfix Postfix will send the mail back to the sender address 1844a672054Schristospre pre 1854a672054Schristosquery_filter mailacceptinggeneralid s maildrop maildrop 1864a672054Schristosqueue_directory queue_directory 1874a672054SchristosReceived from localhost localhost 127 0 0 1 1884a672054SchristosReceived Received from porcupine org 1894a672054Schristosrejected rejected recipients are available on request by the Milter 1904a672054Schristos rewrite 8 none none 1914a672054Schristos Say we have ten recipient mail followed by two two recipient mails If 1924a672054Schristos separated numbers or number number ranges If no 1934a672054Schristossmtpd_recipient_restrictions smtpd_recipient_restrictions 1944a672054Schristossmtpd_relay_restrictions smtpd_relay_restrictions 1954a672054Schristossmtpd_relay_restrictions smtpd_relay_restrictions 1964a672054Schristos smtpd_tls_mandatory_protocols SSLv2 SSLv3 TLSv1 TLSv1 1 1974a672054Schristossmtpd_tls_mandatory_protocols SSLv2 SSLv3 TLSv1 TLSv1 1 1984a672054Schristos smtp smtp o smtp_bind_address 11 22 33 44 1994a672054Schristos smtp smtp o smtp_bind_address6 1 2 3 4 5 6 7 8 2004a672054Schristos smtp_tls_mandatory_protocols SSLv2 SSLv3 TLSv1 TLSv1 1 2014a672054Schristossmtp_tls_mandatory_protocols SSLv2 SSLv3 TLSv1 TLSv1 1 2024a672054Schristos SSLv3 TLSv1 TLSv1 1 TLSv1 2 and TLSv1 3 Starting with 2034a672054Schristos T 5 10 20 40 80 160 320 640 1280 1280 2044a672054Schristos T A 5 10 20 40 80 160 320 320 2054a672054Schristos The and match and literally Without the the 2064a672054Schristos The matches literally Without the the would 2074a672054SchristosTherefore 301 0301 0x301 and 0x0301 are all equivalent to 2084a672054Schristos The syntax of name value value name value and name value 2094a672054Schristosthe the backed up domain tld domain This prevents your mail queue 2104a672054Schristos tls_random_source dev dev urandom 2114a672054Schristos tls_random_source dev dev urandom 2124a672054Schristostls_random_source dev dev urandom 2134a672054SchristosTLS TLS support in the LMTP delivery agent 2144a672054Schristos TLSv1 3 with cipher TLS_AES_256_GCM_SHA384 256 256 bits 2154a672054Schristos to flush flush 8 Deferred 2164a672054Schristosto host example com 192 168 0 2 25 TLSv1 with cipher cipher name 2174a672054Schristos to server example TLSv1 3 with cipher TLS_AES_256_GCM_SHA384 256 256 bits 2184a672054Schristos TOTAL 5000 200 200 400 800 1600 1000 200 200 200 200 2194a672054Schristostransport transport 2204a672054Schristos tt tt in the authorized_verp_clients value and in files 2214a672054Schristos tt tt in the mynetworks value and in files specified with 2224a672054Schristos tt tt in the smtpd_authorized_verp_clients value and in 2234a672054Schristos tt tt in the smtpd_authorized_xclient_hosts value and in 2244a672054Schristos tt tt in the smtpd_authorized_xforward_hosts value and in 2254a672054Schristos tt tt in the smtpd_client_event_limit_exceptions value and 2264a672054Schristos tt tt in the smtpd_sasl_exceptions_networks value and in 2274a672054Schristos tt tt p 2284a672054Schristostwo two recipient mails 2294a672054Schristos uid cn cn auth 2304a672054SchristosUnfiltered Unfiltered 2314a672054Schristos unknown recipients in local domains domains that match mydestination 2324a672054Schristos Use blockquote pre pre blockquote for examples 2334a672054Schristos Use pre pre for the Examples section at the end 2344a672054Schristosusername username 2354a672054Schristos user sourceforge net 7678 7678 0 0 0 0 0 0 0 0 2364a672054Schristos using TLSv1 3 with cipher TLS_AES_256_GCM_SHA384 256 256 bits 2374a672054Schristos using TLSv1 with cipher cipher name 2384a672054Schristosvar var spool and so on This is especially an issue if you executed 2394a672054SchristosWith the standard operators lt lt etc compatibility 2404a672054Schristos yes yes yes never 100 2414a672054Schristoszombie zombie tlsproxy 8 smtpd 8 2424a672054Schristos and 1 000 000 messages with good performance unlikely above that 2434a672054Schristosdt dt b name value b Postfix ge 3 0 dt 2444a672054Schristos dt dt dd 3 Also log the hexadecimal and ASCII dump of the 2454a672054Schristos dt dt dd 4 Also log the hexadecimal and ASCII dump of complete 2464a672054Schristos parametername stress something something Other 2474a672054Schristos p Note on OpenBSD systems specify dev dev arandom when dev dev urandom 248*059c16a8Schristos user3 example net smtp smtp relay example net submission 249