# PaCkAgE DaTaStReAm postfix 1 117985 # end of header 0707010006827d000081a4000000000000000000000001513697b2000000fc0000010000010031ffffffffffffffff0000001000000000postfix/pkginfoPKG=postfix NAME=postfix 2.9.6 SPARC 64bit Solaris 10 VERSION=2.9.6 PSTAMP=29th January 2013 VENDOR=Wietse Venema EMAIL=http://postfix.org/ DESC=Postfix mail server ARCH=sparc CATEGORY=utility CLASSES=none BASEDIR=/ ISTATES=S s 1 2 3 RSTATES=S s 1 2 3 0707010006827c000081a4000000000000000000000001513697b400002fdc0000010000010031ffffffffffffffff0000000f00000000postfix/pkgmap: 1 117985 1 d none /usr ? ? ? 1 d none /usr/local ? ? ? 1 d none /usr/local/bin 0755 root root 1 s none /usr/local/bin/mailq=../../../usr/local/sbin/sendmail 1 s none /usr/local/bin/newaliases=../../../usr/local/sbin/sendmail 1 d none /usr/local/etc 0755 root root 1 d none /usr/local/etc/postfix 0755 root root 1 f none /usr/local/etc/postfix/LICENSE 0644 root root 11942 644 1362532262 1 f none /usr/local/etc/postfix/TLS_LICENSE 0644 root root 1629 64533 1362532262 1 f none /usr/local/etc/postfix/access 0644 root root 20876 53019 1362532262 1 f none /usr/local/etc/postfix/aliases 0644 root root 8829 15909 1362532262 1 f none /usr/local/etc/postfix/bounce.cf.default 0644 root root 3548 41829 1362532262 1 f none /usr/local/etc/postfix/canonical 0644 root root 11681 41824 1362532262 1 f none /usr/local/etc/postfix/generic 0644 root root 9904 40101 1362532262 1 f none /usr/local/etc/postfix/header_checks 0644 root root 21535 43748 1362532262 1 f none /usr/local/etc/postfix/main.cf 0644 root root 26291 39222 1362532267 1 f none /usr/local/etc/postfix/main.cf.default 0644 root root 32218 52703 1362532262 1 f none /usr/local/etc/postfix/makedefs.out 0644 root root 749 63016 1362532262 1 f none /usr/local/etc/postfix/master.cf 0644 root root 5663 65002 1362532262 1 f none /usr/local/etc/postfix/relocated 0644 root root 6816 62483 1362532262 1 f none /usr/local/etc/postfix/transport 0644 root root 12549 54892 1362532262 1 f none /usr/local/etc/postfix/virtual 0644 root root 12494 44932 1362532263 1 d none /usr/local/lib 0755 root root 1 d none /usr/local/lib/smf 0755 root root 1 f none /usr/local/lib/smf/postfix.service.manifest 0644 root root 3694 29072 1362532274 1 f none /usr/local/lib/smf/postfix.service.method 0755 root root 1899 1670 1362532274 1 d none /usr/local/libexec 0755 root root 1 d none /usr/local/libexec/postfix 0755 root root 1 f none /usr/local/libexec/postfix/anvil 0755 root root 1379704 15332 1362532259 1 f none /usr/local/libexec/postfix/bounce 0755 root root 1741544 31171 1362532259 1 f none /usr/local/libexec/postfix/cleanup 0755 root root 2395568 42333 1362532259 1 f none /usr/local/libexec/postfix/discard 0755 root root 1604744 20138 1362532260 1 f none /usr/local/libexec/postfix/dnsblog 0755 root root 1426936 50173 1362532260 1 f none /usr/local/libexec/postfix/error 0755 root root 1613184 8700 1362532260 1 f none /usr/local/libexec/postfix/flush 0755 root root 1474280 23154 1362532260 1 f none /usr/local/libexec/postfix/lmtp 0755 root root 2330408 47351 1362532261 1 f none /usr/local/libexec/postfix/local 0755 root root 2246432 36911 1362532260 1 f none /usr/local/libexec/postfix/main.cf 0644 root root 26254 35722 1362532260 1 f none /usr/local/libexec/postfix/master 0755 root root 987048 60069 1362532260 1 f none /usr/local/libexec/postfix/master.cf 0644 root root 5663 65002 1362532260 1 f none /usr/local/libexec/postfix/nqmgr 0755 root root 1971520 16576 1362532260 1 f none /usr/local/libexec/postfix/oqmgr 0755 root root 1903048 27077 1362532260 1 f none /usr/local/libexec/postfix/pickup 0755 root root 1479192 24388 1362532260 1 f none /usr/local/libexec/postfix/pipe 0755 root root 1819336 29379 1362532260 1 f none /usr/local/libexec/postfix/post-install 0755 root root 26498 62132 1362532260 1 f none /usr/local/libexec/postfix/postfix-files 0644 root root 19401 9256 1362532260 1 f none /usr/local/libexec/postfix/postfix-script 0755 root root 8203 29915 1362532260 1 f none /usr/local/libexec/postfix/postfix-wrapper 0755 root root 6543 36414 1362532260 1 f none /usr/local/libexec/postfix/postmulti-script 0755 root root 8419 39474 1362532260 1 f none /usr/local/libexec/postfix/postscreen 0755 root root 1668928 60248 1362532260 1 f none /usr/local/libexec/postfix/proxymap 0755 root root 1304536 11659 1362532260 1 l none /usr/local/libexec/postfix/qmgr=/usr/local/libexec/postfix/nqmgr 1 f none /usr/local/libexec/postfix/qmqpd 0755 root root 1617920 39928 1362532260 1 f none /usr/local/libexec/postfix/scache 0755 root root 1375360 55698 1362532260 1 f none /usr/local/libexec/postfix/showq 0755 root root 1511008 61060 1362532261 1 l none /usr/local/libexec/postfix/smtp=/usr/local/libexec/postfix/lmtp 1 f none /usr/local/libexec/postfix/smtpd 0755 root root 2591264 2337 1362532261 1 f none /usr/local/libexec/postfix/spawn 0755 root root 1389760 19093 1362532261 1 f none /usr/local/libexec/postfix/tlsmgr 0755 root root 1328840 45711 1362532261 1 f none /usr/local/libexec/postfix/tlsproxy 0755 root root 1321656 35993 1362532261 1 f none /usr/local/libexec/postfix/trivial-rewrite 0755 root root 1466864 8375 1362532261 1 f none /usr/local/libexec/postfix/verify 0755 root root 1484600 21566 1362532261 1 f none /usr/local/libexec/postfix/virtual 0755 root root 1822168 14511 1362532261 1 d none /usr/local/man 0755 root root 1 d none /usr/local/man/man1 0755 root root 1 f none /usr/local/man/man1/mailq.1 0644 root root 20 1666 1362532263 1 f none /usr/local/man/man1/newaliases.1 0644 root root 20 1666 1362532263 1 f none /usr/local/man/man1/postalias.1 0644 root root 8237 16107 1362532263 1 f none /usr/local/man/man1/postcat.1 0644 root root 2694 38063 1362532263 1 f none /usr/local/man/man1/postconf.1 0644 root root 11492 43076 1362532263 1 f none /usr/local/man/man1/postdrop.1 0644 root root 3658 61103 1362532263 1 f none /usr/local/man/man1/postfix.1 0644 root root 12697 35533 1362532263 1 f none /usr/local/man/man1/postkick.1 0644 root root 2396 13840 1362532263 1 f none /usr/local/man/man1/postlock.1 0644 root root 3123 8725 1362532263 1 f none /usr/local/man/man1/postlog.1 0644 root root 2402 12934 1362532263 1 f none /usr/local/man/man1/postmap.1 0644 root root 9886 30712 1362532263 1 f none /usr/local/man/man1/postmulti.1 0644 root root 14841 26914 1362532263 1 f none /usr/local/man/man1/postqueue.1 0644 root root 6062 14536 1362532263 1 f none /usr/local/man/man1/postsuper.1 0644 root root 9514 57394 1362532263 1 f none /usr/local/man/man1/sendmail.1 0644 root root 15940 45427 1362532263 1 d none /usr/local/man/man5 0755 root root 1 f none /usr/local/man/man5/access.5 0644 root root 16865 61186 1362532263 1 f none /usr/local/man/man5/aliases.5 0644 root root 6612 1119 1362532263 1 f none /usr/local/man/man5/body_checks.5 0644 root root 25 2166 1362532263 1 f none /usr/local/man/man5/bounce.5 0644 root root 6750 13172 1362532264 1 f none /usr/local/man/man5/canonical.5 0644 root root 9809 32941 1362532264 1 f none /usr/local/man/man5/cidr_table.5 0644 root root 3269 19960 1362532264 1 f none /usr/local/man/man5/generic.5 0644 root root 8610 45827 1362532264 1 f none /usr/local/man/man5/header_checks.5 0644 root root 17383 49728 1362532264 1 f none /usr/local/man/man5/ldap_table.5 0644 root root 27767 37149 1362532264 1 f none /usr/local/man/man5/master.5 0644 root root 8341 29598 1362532264 1 f none /usr/local/man/man5/memcache_table.5 0644 root root 8081 58593 1362532264 1 f none /usr/local/man/man5/mysql_table.5 0644 root root 11469 29762 1362532264 1 f none /usr/local/man/man5/nisplus_table.5 0644 root root 2429 8952 1362532264 1 f none /usr/local/man/man5/pcre_table.5 0644 root root 7684 20281 1362532264 1 f none /usr/local/man/man5/pgsql_table.5 0644 root root 12239 35020 1362532264 1 f none /usr/local/man/man5/postconf.5 0644 root root 456676 9320 1362532264 1 f none /usr/local/man/man5/postfix-wrapper.5 0644 root root 10473 25349 1362532264 1 f none /usr/local/man/man5/regexp_table.5 0644 root root 6187 19269 1362532264 1 f none /usr/local/man/man5/relocated.5 0644 root root 5908 65100 1362532264 1 f none /usr/local/man/man5/sqlite_table.5 0644 root root 10167 46662 1362532264 1 f none /usr/local/man/man5/tcp_table.5 0644 root root 3383 31408 1362532264 1 f none /usr/local/man/man5/transport.5 0644 root root 10918 63238 1362532264 1 f none /usr/local/man/man5/virtual.5 0644 root root 10673 41389 1362532264 1 d none /usr/local/man/man8 0755 root root 1 f none /usr/local/man/man8/anvil.8 0644 root root 7340 61643 1362532265 1 f none /usr/local/man/man8/bounce.8 0644 root root 5574 39353 1362532265 1 f none /usr/local/man/man8/cleanup.8 0644 root root 16698 49314 1362532265 1 f none /usr/local/man/man8/defer.8 0644 root root 18 1471 1362532265 1 f none /usr/local/man/man8/discard.8 0644 root root 3832 11997 1362532265 1 f none /usr/local/man/man8/dnsblog.8 0644 root root 2780 46739 1362532265 1 f none /usr/local/man/man8/error.8 0644 root root 4234 48855 1362532265 1 f none /usr/local/man/man8/flush.8 0644 root root 5800 61151 1362532265 1 f none /usr/local/man/man8/lmtp.8 0644 root root 16 1287 1362532265 1 f none /usr/local/man/man8/local.8 0644 root root 24697 1854 1362532265 1 f none /usr/local/man/man8/master.8 0644 root root 6455 53770 1362532265 1 f none /usr/local/man/man8/oqmgr.8 0644 root root 13453 31697 1362532265 1 f none /usr/local/man/man8/pickup.8 0644 root root 3805 7371 1362532265 1 f none /usr/local/man/man8/pipe.8 0644 root root 16576 47943 1362532265 1 f none /usr/local/man/man8/postscreen.8 0644 root root 15863 44911 1362532265 1 f none /usr/local/man/man8/proxymap.8 0644 root root 8158 14722 1362532265 1 f none /usr/local/man/man8/qmgr.8 0644 root root 15999 5422 1362532265 1 f none /usr/local/man/man8/qmqpd.8 0644 root root 5573 31391 1362532265 1 f none /usr/local/man/man8/scache.8 0644 root root 5356 20212 1362532265 1 f none /usr/local/man/man8/showq.8 0644 root root 3469 42202 1362532266 1 f none /usr/local/man/man8/smtp.8 0644 root root 29648 24955 1362532266 1 f none /usr/local/man/man8/smtpd.8 0644 root root 45305 17526 1362532266 1 f none /usr/local/man/man8/spawn.8 0644 root root 4918 42940 1362532266 1 f none /usr/local/man/man8/tlsmgr.8 0644 root root 6330 36750 1362532266 1 f none /usr/local/man/man8/tlsproxy.8 0644 root root 8159 15298 1362532266 1 f none /usr/local/man/man8/trace.8 0644 root root 18 1471 1362532266 1 f none /usr/local/man/man8/trivial-rewrite.8 0644 root root 11195 34673 1362532266 1 f none /usr/local/man/man8/verify.8 0644 root root 7627 35098 1362532266 1 f none /usr/local/man/man8/virtual.8 0644 root root 11241 26311 1362532266 1 d none /usr/local/sbin 0755 root root 1 f none /usr/local/sbin/postalias 0755 root root 1270416 61424 1362532261 1 f none /usr/local/sbin/postcat 0755 root root 699520 47649 1362532261 1 f none /usr/local/sbin/postconf 0755 root root 1491592 8846 1362532261 1 f none /usr/local/sbin/postdrop 2755 root postdrop 1277200 48870 1362532262 1 f none /usr/local/sbin/postfix 0755 root root 610656 36481 1362532261 1 f none /usr/local/sbin/postkick 0755 root root 688712 34819 1362532261 1 f none /usr/local/sbin/postlock 0755 root root 676008 6692 1362532261 1 f none /usr/local/sbin/postlog 0755 root root 621128 38086 1362532261 1 f none /usr/local/sbin/postmap 0755 root root 1269032 24230 1362532261 1 f none /usr/local/sbin/postmulti 0755 root root 703944 49119 1362532262 1 f none /usr/local/sbin/postqueue 2755 root postdrop 1368152 36894 1362532262 1 f none /usr/local/sbin/postsuper 0755 root root 738368 23458 1362532262 1 f none /usr/local/sbin/sendmail 0755 root root 1418168 37605 1362532262 1 d none /usr/local/spool 0755 root root 1 d none /usr/local/spool/postfix 0755 root root 1 d none /usr/local/spool/postfix/active 0700 root root 1 d none /usr/local/spool/postfix/bounce 0700 root root 1 d none /usr/local/spool/postfix/corrupt 0700 root root 1 d none /usr/local/spool/postfix/defer 0700 root root 1 d none /usr/local/spool/postfix/deferred 0700 root root 1 d none /usr/local/spool/postfix/flush 0700 root root 1 d none /usr/local/spool/postfix/hold 0700 root root 1 d none /usr/local/spool/postfix/incoming 0700 root root 1 d none /usr/local/spool/postfix/maildrop 0730 root postdrop 1 d none /usr/local/spool/postfix/pid 0755 root root 1 d none /usr/local/spool/postfix/private 0700 postfix root 1 d none /usr/local/spool/postfix/public 0710 postfix postdrop 1 d none /usr/local/spool/postfix/saved 0700 root root 1 d none /usr/local/spool/postfix/trace 0700 root root 1 d none /usr/local/var 0755 root root 1 d none /usr/local/var/postfix 0700 postfix root 1 i checkinstall 1612 3112 1362532273 1 i pkginfo 252 19474 1362532274 1 i postinstall 932 13615 1362532273 1 i preinstall 2989 53998 1362532273 1 i preremove 1074 25291 1362532273 07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000b00000000TRAILER!!!0707010006827d000081a4000000000000000000000001513697b2000000fc0000010000010031ffffffffffffffff0000000800000000pkginfoPKG=postfix NAME=postfix 2.9.6 SPARC 64bit Solaris 10 VERSION=2.9.6 PSTAMP=29th January 2013 VENDOR=Wietse Venema EMAIL=http://postfix.org/ DESC=Postfix mail server ARCH=sparc CATEGORY=utility CLASSES=none BASEDIR=/ ISTATES=S s 1 2 3 RSTATES=S s 1 2 3 0707010006827c000081a4000000000000000000000001513697b400002fdc0000010000010031ffffffffffffffff0000000700000000pkgmap: 1 117985 1 d none /usr ? ? ? 1 d none /usr/local ? ? ? 1 d none /usr/local/bin 0755 root root 1 s none /usr/local/bin/mailq=../../../usr/local/sbin/sendmail 1 s none /usr/local/bin/newaliases=../../../usr/local/sbin/sendmail 1 d none /usr/local/etc 0755 root root 1 d none /usr/local/etc/postfix 0755 root root 1 f none /usr/local/etc/postfix/LICENSE 0644 root root 11942 644 1362532262 1 f none /usr/local/etc/postfix/TLS_LICENSE 0644 root root 1629 64533 1362532262 1 f none /usr/local/etc/postfix/access 0644 root root 20876 53019 1362532262 1 f none /usr/local/etc/postfix/aliases 0644 root root 8829 15909 1362532262 1 f none /usr/local/etc/postfix/bounce.cf.default 0644 root root 3548 41829 1362532262 1 f none /usr/local/etc/postfix/canonical 0644 root root 11681 41824 1362532262 1 f none /usr/local/etc/postfix/generic 0644 root root 9904 40101 1362532262 1 f none /usr/local/etc/postfix/header_checks 0644 root root 21535 43748 1362532262 1 f none /usr/local/etc/postfix/main.cf 0644 root root 26291 39222 1362532267 1 f none /usr/local/etc/postfix/main.cf.default 0644 root root 32218 52703 1362532262 1 f none /usr/local/etc/postfix/makedefs.out 0644 root root 749 63016 1362532262 1 f none /usr/local/etc/postfix/master.cf 0644 root root 5663 65002 1362532262 1 f none /usr/local/etc/postfix/relocated 0644 root root 6816 62483 1362532262 1 f none /usr/local/etc/postfix/transport 0644 root root 12549 54892 1362532262 1 f none /usr/local/etc/postfix/virtual 0644 root root 12494 44932 1362532263 1 d none /usr/local/lib 0755 root root 1 d none /usr/local/lib/smf 0755 root root 1 f none /usr/local/lib/smf/postfix.service.manifest 0644 root root 3694 29072 1362532274 1 f none /usr/local/lib/smf/postfix.service.method 0755 root root 1899 1670 1362532274 1 d none /usr/local/libexec 0755 root root 1 d none /usr/local/libexec/postfix 0755 root root 1 f none /usr/local/libexec/postfix/anvil 0755 root root 1379704 15332 1362532259 1 f none /usr/local/libexec/postfix/bounce 0755 root root 1741544 31171 1362532259 1 f none /usr/local/libexec/postfix/cleanup 0755 root root 2395568 42333 1362532259 1 f none /usr/local/libexec/postfix/discard 0755 root root 1604744 20138 1362532260 1 f none /usr/local/libexec/postfix/dnsblog 0755 root root 1426936 50173 1362532260 1 f none /usr/local/libexec/postfix/error 0755 root root 1613184 8700 1362532260 1 f none /usr/local/libexec/postfix/flush 0755 root root 1474280 23154 1362532260 1 f none /usr/local/libexec/postfix/lmtp 0755 root root 2330408 47351 1362532261 1 f none /usr/local/libexec/postfix/local 0755 root root 2246432 36911 1362532260 1 f none /usr/local/libexec/postfix/main.cf 0644 root root 26254 35722 1362532260 1 f none /usr/local/libexec/postfix/master 0755 root root 987048 60069 1362532260 1 f none /usr/local/libexec/postfix/master.cf 0644 root root 5663 65002 1362532260 1 f none /usr/local/libexec/postfix/nqmgr 0755 root root 1971520 16576 1362532260 1 f none /usr/local/libexec/postfix/oqmgr 0755 root root 1903048 27077 1362532260 1 f none /usr/local/libexec/postfix/pickup 0755 root root 1479192 24388 1362532260 1 f none /usr/local/libexec/postfix/pipe 0755 root root 1819336 29379 1362532260 1 f none /usr/local/libexec/postfix/post-install 0755 root root 26498 62132 1362532260 1 f none /usr/local/libexec/postfix/postfix-files 0644 root root 19401 9256 1362532260 1 f none /usr/local/libexec/postfix/postfix-script 0755 root root 8203 29915 1362532260 1 f none /usr/local/libexec/postfix/postfix-wrapper 0755 root root 6543 36414 1362532260 1 f none /usr/local/libexec/postfix/postmulti-script 0755 root root 8419 39474 1362532260 1 f none /usr/local/libexec/postfix/postscreen 0755 root root 1668928 60248 1362532260 1 f none /usr/local/libexec/postfix/proxymap 0755 root root 1304536 11659 1362532260 1 l none /usr/local/libexec/postfix/qmgr=/usr/local/libexec/postfix/nqmgr 1 f none /usr/local/libexec/postfix/qmqpd 0755 root root 1617920 39928 1362532260 1 f none /usr/local/libexec/postfix/scache 0755 root root 1375360 55698 1362532260 1 f none /usr/local/libexec/postfix/showq 0755 root root 1511008 61060 1362532261 1 l none /usr/local/libexec/postfix/smtp=/usr/local/libexec/postfix/lmtp 1 f none /usr/local/libexec/postfix/smtpd 0755 root root 2591264 2337 1362532261 1 f none /usr/local/libexec/postfix/spawn 0755 root root 1389760 19093 1362532261 1 f none /usr/local/libexec/postfix/tlsmgr 0755 root root 1328840 45711 1362532261 1 f none /usr/local/libexec/postfix/tlsproxy 0755 root root 1321656 35993 1362532261 1 f none /usr/local/libexec/postfix/trivial-rewrite 0755 root root 1466864 8375 1362532261 1 f none /usr/local/libexec/postfix/verify 0755 root root 1484600 21566 1362532261 1 f none /usr/local/libexec/postfix/virtual 0755 root root 1822168 14511 1362532261 1 d none /usr/local/man 0755 root root 1 d none /usr/local/man/man1 0755 root root 1 f none /usr/local/man/man1/mailq.1 0644 root root 20 1666 1362532263 1 f none /usr/local/man/man1/newaliases.1 0644 root root 20 1666 1362532263 1 f none /usr/local/man/man1/postalias.1 0644 root root 8237 16107 1362532263 1 f none /usr/local/man/man1/postcat.1 0644 root root 2694 38063 1362532263 1 f none /usr/local/man/man1/postconf.1 0644 root root 11492 43076 1362532263 1 f none /usr/local/man/man1/postdrop.1 0644 root root 3658 61103 1362532263 1 f none /usr/local/man/man1/postfix.1 0644 root root 12697 35533 1362532263 1 f none /usr/local/man/man1/postkick.1 0644 root root 2396 13840 1362532263 1 f none /usr/local/man/man1/postlock.1 0644 root root 3123 8725 1362532263 1 f none /usr/local/man/man1/postlog.1 0644 root root 2402 12934 1362532263 1 f none /usr/local/man/man1/postmap.1 0644 root root 9886 30712 1362532263 1 f none /usr/local/man/man1/postmulti.1 0644 root root 14841 26914 1362532263 1 f none /usr/local/man/man1/postqueue.1 0644 root root 6062 14536 1362532263 1 f none /usr/local/man/man1/postsuper.1 0644 root root 9514 57394 1362532263 1 f none /usr/local/man/man1/sendmail.1 0644 root root 15940 45427 1362532263 1 d none /usr/local/man/man5 0755 root root 1 f none /usr/local/man/man5/access.5 0644 root root 16865 61186 1362532263 1 f none /usr/local/man/man5/aliases.5 0644 root root 6612 1119 1362532263 1 f none /usr/local/man/man5/body_checks.5 0644 root root 25 2166 1362532263 1 f none /usr/local/man/man5/bounce.5 0644 root root 6750 13172 1362532264 1 f none /usr/local/man/man5/canonical.5 0644 root root 9809 32941 1362532264 1 f none /usr/local/man/man5/cidr_table.5 0644 root root 3269 19960 1362532264 1 f none /usr/local/man/man5/generic.5 0644 root root 8610 45827 1362532264 1 f none /usr/local/man/man5/header_checks.5 0644 root root 17383 49728 1362532264 1 f none /usr/local/man/man5/ldap_table.5 0644 root root 27767 37149 1362532264 1 f none /usr/local/man/man5/master.5 0644 root root 8341 29598 1362532264 1 f none /usr/local/man/man5/memcache_table.5 0644 root root 8081 58593 1362532264 1 f none /usr/local/man/man5/mysql_table.5 0644 root root 11469 29762 1362532264 1 f none /usr/local/man/man5/nisplus_table.5 0644 root root 2429 8952 1362532264 1 f none /usr/local/man/man5/pcre_table.5 0644 root root 7684 20281 1362532264 1 f none /usr/local/man/man5/pgsql_table.5 0644 root root 12239 35020 1362532264 1 f none /usr/local/man/man5/postconf.5 0644 root root 456676 9320 1362532264 1 f none /usr/local/man/man5/postfix-wrapper.5 0644 root root 10473 25349 1362532264 1 f none /usr/local/man/man5/regexp_table.5 0644 root root 6187 19269 1362532264 1 f none /usr/local/man/man5/relocated.5 0644 root root 5908 65100 1362532264 1 f none /usr/local/man/man5/sqlite_table.5 0644 root root 10167 46662 1362532264 1 f none /usr/local/man/man5/tcp_table.5 0644 root root 3383 31408 1362532264 1 f none /usr/local/man/man5/transport.5 0644 root root 10918 63238 1362532264 1 f none /usr/local/man/man5/virtual.5 0644 root root 10673 41389 1362532264 1 d none /usr/local/man/man8 0755 root root 1 f none /usr/local/man/man8/anvil.8 0644 root root 7340 61643 1362532265 1 f none /usr/local/man/man8/bounce.8 0644 root root 5574 39353 1362532265 1 f none /usr/local/man/man8/cleanup.8 0644 root root 16698 49314 1362532265 1 f none /usr/local/man/man8/defer.8 0644 root root 18 1471 1362532265 1 f none /usr/local/man/man8/discard.8 0644 root root 3832 11997 1362532265 1 f none /usr/local/man/man8/dnsblog.8 0644 root root 2780 46739 1362532265 1 f none /usr/local/man/man8/error.8 0644 root root 4234 48855 1362532265 1 f none /usr/local/man/man8/flush.8 0644 root root 5800 61151 1362532265 1 f none /usr/local/man/man8/lmtp.8 0644 root root 16 1287 1362532265 1 f none /usr/local/man/man8/local.8 0644 root root 24697 1854 1362532265 1 f none /usr/local/man/man8/master.8 0644 root root 6455 53770 1362532265 1 f none /usr/local/man/man8/oqmgr.8 0644 root root 13453 31697 1362532265 1 f none /usr/local/man/man8/pickup.8 0644 root root 3805 7371 1362532265 1 f none /usr/local/man/man8/pipe.8 0644 root root 16576 47943 1362532265 1 f none /usr/local/man/man8/postscreen.8 0644 root root 15863 44911 1362532265 1 f none /usr/local/man/man8/proxymap.8 0644 root root 8158 14722 1362532265 1 f none /usr/local/man/man8/qmgr.8 0644 root root 15999 5422 1362532265 1 f none /usr/local/man/man8/qmqpd.8 0644 root root 5573 31391 1362532265 1 f none /usr/local/man/man8/scache.8 0644 root root 5356 20212 1362532265 1 f none /usr/local/man/man8/showq.8 0644 root root 3469 42202 1362532266 1 f none /usr/local/man/man8/smtp.8 0644 root root 29648 24955 1362532266 1 f none /usr/local/man/man8/smtpd.8 0644 root root 45305 17526 1362532266 1 f none /usr/local/man/man8/spawn.8 0644 root root 4918 42940 1362532266 1 f none /usr/local/man/man8/tlsmgr.8 0644 root root 6330 36750 1362532266 1 f none /usr/local/man/man8/tlsproxy.8 0644 root root 8159 15298 1362532266 1 f none /usr/local/man/man8/trace.8 0644 root root 18 1471 1362532266 1 f none /usr/local/man/man8/trivial-rewrite.8 0644 root root 11195 34673 1362532266 1 f none /usr/local/man/man8/verify.8 0644 root root 7627 35098 1362532266 1 f none /usr/local/man/man8/virtual.8 0644 root root 11241 26311 1362532266 1 d none /usr/local/sbin 0755 root root 1 f none /usr/local/sbin/postalias 0755 root root 1270416 61424 1362532261 1 f none /usr/local/sbin/postcat 0755 root root 699520 47649 1362532261 1 f none /usr/local/sbin/postconf 0755 root root 1491592 8846 1362532261 1 f none /usr/local/sbin/postdrop 2755 root postdrop 1277200 48870 1362532262 1 f none /usr/local/sbin/postfix 0755 root root 610656 36481 1362532261 1 f none /usr/local/sbin/postkick 0755 root root 688712 34819 1362532261 1 f none /usr/local/sbin/postlock 0755 root root 676008 6692 1362532261 1 f none /usr/local/sbin/postlog 0755 root root 621128 38086 1362532261 1 f none /usr/local/sbin/postmap 0755 root root 1269032 24230 1362532261 1 f none /usr/local/sbin/postmulti 0755 root root 703944 49119 1362532262 1 f none /usr/local/sbin/postqueue 2755 root postdrop 1368152 36894 1362532262 1 f none /usr/local/sbin/postsuper 0755 root root 738368 23458 1362532262 1 f none /usr/local/sbin/sendmail 0755 root root 1418168 37605 1362532262 1 d none /usr/local/spool 0755 root root 1 d none /usr/local/spool/postfix 0755 root root 1 d none /usr/local/spool/postfix/active 0700 root root 1 d none /usr/local/spool/postfix/bounce 0700 root root 1 d none /usr/local/spool/postfix/corrupt 0700 root root 1 d none /usr/local/spool/postfix/defer 0700 root root 1 d none /usr/local/spool/postfix/deferred 0700 root root 1 d none /usr/local/spool/postfix/flush 0700 root root 1 d none /usr/local/spool/postfix/hold 0700 root root 1 d none /usr/local/spool/postfix/incoming 0700 root root 1 d none /usr/local/spool/postfix/maildrop 0730 root postdrop 1 d none /usr/local/spool/postfix/pid 0755 root root 1 d none /usr/local/spool/postfix/private 0700 postfix root 1 d none /usr/local/spool/postfix/public 0710 postfix postdrop 1 d none /usr/local/spool/postfix/saved 0700 root root 1 d none /usr/local/spool/postfix/trace 0700 root root 1 d none /usr/local/var 0755 root root 1 d none /usr/local/var/postfix 0700 postfix root 1 i checkinstall 1612 3112 1362532273 1 i pkginfo 252 19474 1362532274 1 i postinstall 932 13615 1362532273 1 i preinstall 2989 53998 1362532273 1 i preremove 1074 25291 1362532273 0707010006830e000041ed000000000000000000000002513697b4000000000000010000010031ffffffffffffffff0000000800000000install07070100068310000081ed000000000000000000000001513697b1000003a40000010000010031ffffffffffffffff0000001400000000install/postinstall#!/usr/bin/ksh # # Add Postfix 2.9.6 to SMF # if [ -f "/usr/local/lib/smf/postfix.service.manifest" ]; then echo "Adding /usr/local/lib/smf/postfix.service.manifest to SMF..." /usr/sbin/svccfg import /usr/local/lib/smf/postfix.service.manifest fi # # Turn of Solaris Sendmail and switch on this Postfix # sendmail_enabled=`/bin/svcs -l svc:/network/smtp:sendmail | /bin/grep enabled | /bin/tr -s ' ' ' ' | /bin/cut -f2 -d ' '` postfix_enabled=`/bin/svcs -l svc:/network/smtp:postfix | /bin/grep enabled | /bin/tr -s ' ' ' ' | /bin/cut -f2 -d ' '` if [ "X${sendmail_enabled}" = "Xtrue" ]; then echo "Disabling Solaris Sendmail" /usr/sbin/svcadm disable svc:/network/smtp:sendmail sleep 3 fi if [ "X${postfix_enabled}" != "Xtrue" ]; then echo "Enabling Postfix" /usr/sbin/svcadm enable svc:/network/smtp:postfix else echo "Restarting Postfix" /usr/sbin/svcadm refresh svc:/network/smtp:postfix fi 0707010006830f000081ed000000000000000000000001513697b10000064c0000010000010031ffffffffffffffff0000001500000000install/checkinstall#!/bin/sh # expected_bits="64" expected_release="5.10" expected_platform="sparc" # release=`uname -r` platform=`uname -p` bits=`isainfo -b` # if [ ${platform} != ${expected_platform} ]; then echo "\n\n\n\tThis package must be installed on a ${expected_platform} architecture\n" echo "\tAborting installation.\n\n\n" exit 1 fi if [ ${release} != ${expected_release} ]; then echo "\n\n\n\tThis package must be installed on a ${expected_release} machine\n" echo "\tAborting installation.\n\n\n" exit 1 fi if [ ${bits} != ${expected_bits} ]; then echo "\n\n\n\tThis package must be installed on a ${expected_bits} bit machine\n" echo "\tYour machine is running a ${bits} bit O.S. currently\n" echo "\tAborting installation.\n\n\n" exit 1 fi err_exit="0" ldap_ns=`/bin/grep passwd /etc/nsswitch.conf | /bin/grep -ci ldap` postfix_acct=`/bin/getent passwd postfix | /bin/grep -ci postfix` postdrop_group=`/bin/getent group postdrop | /bin/grep -ci postdrop` if [ "$ldap_ns" != "0" ]; then if [ "$postfix_acct" -eq "0" ]; then echo "ERR: postfix account is missing and LDAP is being used. Please create the" echo " account in the LDAP directory and re-install this package." err_exit="1" fi if [ "$postdrop_group" -eq "0" ]; then echo "ERR: postdrop group is missing and LDAP is being used. Please create the" echo " group in the LDAP directory and re-install this package." err_exit="1" fi if [ "$err_exit" -eq "1" ]; then echo "Aborting checkinstall script" exit 1 fi fi exit 0 07070100068311000081ed000000000000000000000001513697b100000bad0000010000010031ffffffffffffffff0000001300000000install/preinstall#!/usr/bin/ksh err_exit="0" postfix_user="postfix" postfix_user_dir="empty" postfix_group="postdrop" ldap_ns=`/bin/grep passwd /etc/nsswitch.conf | /bin/grep -ci ldap` postfix_user_check=`/bin/getent passwd ${postfix_user} | /bin/grep -ci ${postfix_user}` postdrop_group_check=`/bin/getent group ${postfix_group} | /bin/grep -ci ${postfix_group}` # # Track down a suitable place to create the postfix user # if [ "X${postfix_user_dir}" = "Xempty" && -d /apps/home ]; then postfix_user_dir="/apps/home/${postfix_user}" fi if [ "X${postfix_user_dir}" = "Xempty" && -d /export/home ]; then postfix_user_dir="/export/home/${postfix_user}" fi if [ "X${postfix_user_dir}" = "Xempty" && -d /home ]; then postfix_user_dir="/home/${postfix_user}" fi if [ "X${postfix_user_dir}" = "Xempty" && -d /users ]; then postfix_user_dir="/users/${postfix_user}" fi if [ "X${postfix_user_dir}" = "Xempty" && -d /var/home ]; then postfix_user_dir="/var/home/${postfix_user}" fi if [ "X${postfix_user_dir}" = "Xempty" ]; then echo "You appear to be homeless. Here is \$5 to get you started. Good luck." echo "Aborting preinstall script" exit 1 fi if [ "$ldap_ns" != "0" ]; then # # Re-do LDAP and group checks, just in case # if [ "$postfix_user_check" -eq "0" ]; then echo "ERR: ${postfix_user} account is missing and LDAP is being used. Please create the" echo " account in the LDAP directory and re-install this package." err_exit="1" fi if [ "$postdrop_group_check" -eq "0" ]; then echo "ERR: ${postfix_group} group is missing and LDAP is being used. Please create the" echo " group in the LDAP directory and re-install this package." err_exit="1" fi if [ "$err_exit" -eq "1" ]; then echo "Aborting checkinstall script" exit 1 fi else # # Not using LDAP. Try to add the userid/group, if required # if [ "$postdrop_group_check" -eq "0" ]; then /usr/sbin/groupadd ${postfix_group} fi if [ "$postfix_user_check" -eq "0" ]; then /usr/sbin/useradd -c "Postfix User" -d ${postfix_user_dir} -m -g ${postfix_group} -s /bin/ksh ${postfix_user} /bin/passwd -l ${postfix_user} fi fi # # Last final checks, ensure things worked as planned # err_exit="0" postfix_user_check=`/bin/getent passwd ${postfix_user} | /bin/grep -ci ${postfix_user}` postdrop_group_check=`/bin/getent group ${postfix_group} | /bin/grep -ci ${postfix_group}` if [ "$postfix_user_check" -eq "0" ]; then echo "ERR: Unable to create the ${postfix_user} account Please create the" echo " account manually and re-install this package." err_exit="1" fi if [ "$postdrop_group_check" -eq "0" ]; then echo "ERR: Unable to create the ${postfix_group} group Please create the" echo " group manually and re-install this package." err_exit="1" fi if [ "$err_exit" -eq "1" ]; then echo "Aborting preinstall script" exit 1 fi 07070100068312000081ed000000000000000000000001513697b1000004320000010000010031ffffffffffffffff0000001200000000install/preremove#!/usr/bin/ksh # # Turn off Postfix and switch on Solaris Sendmail # sendmail_enabled=`/bin/svcs -l svc:/network/smtp:sendmail | /bin/grep enabled | /bin/tr -s ' ' ' ' | /bin/cut -f2 -d ' '` postfix_enabled=`/bin/svcs -l svc:/network/smtp:postfix | /bin/grep enabled | /bin/tr -s ' ' ' ' | /bin/cut -f2 -d ' '` if [ "X${postfix_enabled}" = "Xtrue" ]; then echo "Disabling Postfix" /usr/sbin/svcadm disable svc:/network/smtp:postfix sleep 3 fi if [ "X${sendmail_enabled}" != "Xtrue" ]; then echo "Enabling Solaris Sendmail" /usr/sbin/svcadm enable svc:/network/smtp:sendmail fi # # Remove Postfix 2.9.6 from SMF # exists_postfix=`/usr/bin/svcs -a | grep -ci svc:/network/smtp:postfix` if [ "X${exists_postfix}" = "X1" ]; then echo "Deleting Postfix SMF service" /usr/sbin/svccfg delete -f network/smtp:postfix fi # # Restore symlinks and files # if [ -f "/usr/bin/mailq.orig" ]; then /bin/rm /usr/bin/mailq /bin/mv /usr/bin/mailq.orig /usr/bin/mailq fi ln -fs ../lib/sendmail /usr/sbin/sendmail ln -fs ../lib/sendmail /usr/sbin/newaliases 0707010006827e000041ed000000000000000000000003513697b4000000000000010000010031ffffffffffffffff0000000500000000root0707010006827f000041ed000000000000000000000003513697b4000000000000010000010031ffffffffffffffff0000000900000000root/usr07070100068280000041ed000000000000000000000007513697b4000000000000010000010031ffffffffffffffff0000000f00000000root/usr/local070701000682b9000041ed000000000000000000000005513697b4000000000000010000010031ffffffffffffffff0000001300000000root/usr/local/man070701000682ba000041ed000000000000000000000002513697b4000000000000010000010031ffffffffffffffff0000001800000000root/usr/local/man/man1070701000682c1000081a4000000000000000000000001513697a7000031990000010000010031ffffffffffffffff0000002200000000root/usr/local/man/man1/postfix.1.TH POSTFIX 1 .ad .fi .SH NAME postfix \- Postfix control program .SH "SYNOPSIS" .na .nf .fi \fBpostfix\fR [\fB-Dv\fR] [\fB-c \fIconfig_dir\fR] \fIcommand\fR .SH DESCRIPTION .ad .fi This command is reserved for the superuser. To submit mail, use the Postfix \fBsendmail\fR(1) command. The \fBpostfix\fR(1) command controls the operation of the Postfix mail system: start or stop the \fBmaster\fR(8) daemon, do a health check, and other maintenance. By default, the \fBpostfix\fR(1) command sets up a standardized environment and runs the \fBpostfix-script\fR shell script to do the actual work. However, when support for multiple Postfix instances is configured, \fBpostfix\fR(1) executes the command specified with the \fBmulti_instance_wrapper\fR configuration parameter. This command will execute the \fIcommand\fR for each applicable Postfix instance. The following commands are implemented: .IP \fBcheck\fR Warn about bad directory/file ownership or permissions, and create missing directories. .IP \fBstart\fR Start the Postfix mail system. This also runs the configuration check described above. .IP \fBstop\fR Stop the Postfix mail system in an orderly fashion. If possible, running processes are allowed to terminate at their earliest convenience. .sp Note: in order to refresh the Postfix mail system after a configuration change, do not use the \fBstart\fR and \fBstop\fR commands in succession. Use the \fBreload\fR command instead. .IP \fBabort\fR Stop the Postfix mail system abruptly. Running processes are signaled to stop immediately. .IP \fBflush\fR Force delivery: attempt to deliver every message in the deferred mail queue. Normally, attempts to deliver delayed mail happen at regular intervals, the interval doubling after each failed attempt. .sp Warning: flushing undeliverable mail frequently will result in poor delivery performance of all other mail. .IP \fBreload\fR Re-read configuration files. Running processes terminate at their earliest convenience. .IP \fBstatus\fR Indicate if the Postfix mail system is currently running. .IP "\fBset-permissions\fR \fB[\fIname\fR=\fIvalue ...\fB]\fR Set the ownership and permissions of Postfix related files and directories, as specified in the \fBpostfix-files\fR file. .sp Specify \fIname\fR=\fIvalue\fR to override and update specific main.cf configuration parameters. Use this, for example, to change the \fBmail_owner\fR or \fBsetgid_group\fR setting for an already installed Postfix system. .sp This feature is available in Postfix 2.1 and later. With Postfix 2.0 and earlier, use "\fB$config_directory/post-install set-permissions\fR". .IP "\fBupgrade-configuration\fR \fB[\fIname\fR=\fIvalue ...\fB]\fR Update the \fBmain.cf\fR and \fBmaster.cf\fR files with information that Postfix needs in order to run: add or update services, and add or update configuration parameter settings. .sp Specify \fIname\fR=\fIvalue\fR to override and update specific main.cf configuration parameters. .sp This feature is available in Postfix 2.1 and later. With Postfix 2.0 and earlier, use "\fB$config_directory/post-install upgrade-configuration\fR". .PP The following options are implemented: .IP "\fB-c \fIconfig_dir\fR" Read the \fBmain.cf\fR and \fBmaster.cf\fR configuration files in the named directory instead of the default configuration directory. Use this to distinguish between multiple Postfix instances on the same host. With Postfix 2.6 and later, this option forces the postfix(1) command to operate on the specified Postfix instance only. This behavior is inherited by postfix(1) commands that run as a descendant of the current process. .IP "\fB-D\fR (with \fBpostfix start\fR only)" Run each Postfix daemon under control of a debugger as specified via the \fBdebugger_command\fR configuration parameter. .IP \fB-v\fR Enable verbose logging for debugging purposes. Multiple \fB-v\fR options make the software increasingly verbose. .SH "ENVIRONMENT" .na .nf .ad .fi The \fBpostfix\fR(1) command exports the following environment variables before executing the \fBpostfix-script\fR file: .IP \fBMAIL_CONFIG\fR This is set when the -c command-line option is present. With Postfix 2.6 and later, this environment variable forces the postfix(1) command to operate on the specified Postfix instance only. This behavior is inherited by postfix(1) commands that run as a descendant of the current process. .IP \fBMAIL_VERBOSE\fR This is set when the -v command-line option is present. .IP \fBMAIL_DEBUG\fR This is set when the -D command-line option is present. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi The following \fBmain.cf\fR configuration parameters are exported as environment variables with the same names: .IP "\fBcommand_directory (see 'postconf -d' output)\fR" The location of all postfix administrative commands. .IP "\fBdaemon_directory (see 'postconf -d' output)\fR" The directory with Postfix support programs and daemon programs. .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBqueue_directory (see 'postconf -d' output)\fR" The location of the Postfix top-level queue directory. .IP "\fBmail_owner (postfix)\fR" The UNIX system account that owns the Postfix queue and most Postfix daemon processes. .IP "\fBsetgid_group (postdrop)\fR" The group ownership of set-gid Postfix commands and of group-writable Postfix directories. .IP "\fBsendmail_path (see 'postconf -d' output)\fR" A Sendmail compatibility feature that specifies the location of the Postfix \fBsendmail\fR(1) command. .IP "\fBnewaliases_path (see 'postconf -d' output)\fR" Sendmail compatibility feature that specifies the location of the \fBnewaliases\fR(1) command. .IP "\fBmailq_path (see 'postconf -d' output)\fR" Sendmail compatibility feature that specifies where the Postfix \fBmailq\fR(1) command is installed. .IP "\fBhtml_directory (see 'postconf -d' output)\fR" The location of Postfix HTML files that describe how to build, configure or operate a specific Postfix subsystem or feature. .IP "\fBmanpage_directory (see 'postconf -d' output)\fR" Where the Postfix manual pages are installed. .IP "\fBreadme_directory (see 'postconf -d' output)\fR" The location of Postfix README files that describe how to build, configure or operate a specific Postfix subsystem or feature. .PP Available in Postfix version 2.5 and later: .IP "\fBdata_directory (see 'postconf -d' output)\fR" The directory with Postfix-writable data files (for example: caches, pseudo-random numbers). .PP Other configuration parameters: .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBimport_environment (see 'postconf -d' output)\fR" The list of environment parameters that a Postfix process will import from a non-Postfix parent process. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .PP Available in Postfix version 2.6 and later: .IP "\fBmulti_instance_directories (empty)\fR" An optional list of non-default Postfix configuration directories; these directories belong to additional Postfix instances that share the Postfix executable files and documentation with the default Postfix instance, and that are started, stopped, etc., together with the default Postfix instance. .IP "\fBmulti_instance_wrapper (empty)\fR" The pathname of a multi-instance manager command that the \fBpostfix\fR(1) command invokes when the multi_instance_directories parameter value is non-empty. .IP "\fBmulti_instance_group (empty)\fR" The optional instance group name of this Postfix instance. .IP "\fBmulti_instance_name (empty)\fR" The optional instance name of this Postfix instance. .IP "\fBmulti_instance_enable (no)\fR" Allow this Postfix instance to be started, stopped, etc., by a multi-instance manager. .SH "FILES" .na .nf .ad .fi Prior to Postfix version 2.6, all of the following files were in \fB$config_directory\fR. Some files are now in \fB$daemon_directory\fR so that they can be shared among multiple instances that run the same Postfix version. Use the command "\fBpostconf config_directory\fR" or "\fBpostconf daemon_directory\fR" to expand the names into their actual values. .na .nf $config_directory/main.cf, Postfix configuration parameters $config_directory/master.cf, Postfix daemon processes $daemon_directory/postfix-files, file/directory permissions $daemon_directory/postfix-script, administrative commands $daemon_directory/post-install, post-installation configuration .SH "SEE ALSO" .na .nf Commands: postalias(1), create/update/query alias database postcat(1), examine Postfix queue file postconf(1), Postfix configuration utility postfix(1), Postfix control program postkick(1), trigger Postfix daemon postlock(1), Postfix-compatible locking postlog(1), Postfix-compatible logging postmap(1), Postfix lookup table manager postmulti(1), Postfix multi-instance manager postqueue(1), Postfix mail queue control postsuper(1), Postfix housekeeping mailq(1), Sendmail compatibility interface newaliases(1), Sendmail compatibility interface sendmail(1), Sendmail compatibility interface Postfix configuration: bounce(5), Postfix bounce message templates master(5), Postfix master.cf file syntax postconf(5), Postfix main.cf file syntax postfix-wrapper(5), Postfix multi-instance API Table-driven mechanisms: access(5), Postfix SMTP access control table aliases(5), Postfix alias database canonical(5), Postfix input address rewriting generic(5), Postfix output address rewriting header_checks(5), body_checks(5), Postfix content inspection relocated(5), Users that have moved transport(5), Postfix routing table virtual(5), Postfix virtual aliasing Table lookup mechanisms: cidr_table(5), Associate CIDR pattern with value ldap_table(5), Postfix LDAP client memcache_table(5), Postfix memcache client mysql_table(5), Postfix MYSQL client nisplus_table(5), Postfix NIS+ client pcre_table(5), Associate PCRE pattern with value pgsql_table(5), Postfix PostgreSQL client regexp_table(5), Associate POSIX regexp pattern with value sqlite_table(5), Postfix SQLite database driver tcp_table(5), Postfix client-server table lookup Daemon processes: anvil(8), Postfix connection/rate limiting bounce(8), defer(8), trace(8), Delivery status reports cleanup(8), canonicalize and enqueue message discard(8), Postfix discard delivery agent dnsblog(8), DNS black/whitelist logger error(8), Postfix error delivery agent flush(8), Postfix fast ETRN service local(8), Postfix local delivery agent master(8), Postfix master daemon oqmgr(8), old Postfix queue manager pickup(8), Postfix local mail pickup pipe(8), deliver mail to non-Postfix command postscreen(8), Postfix zombie blocker proxymap(8), Postfix lookup table proxy server qmgr(8), Postfix queue manager qmqpd(8), Postfix QMQP server scache(8), Postfix connection cache manager showq(8), list Postfix mail queue smtp(8), lmtp(8), Postfix SMTP+LMTP client smtpd(8), Postfix SMTP server spawn(8), run non-Postfix server tlsmgr(8), Postfix TLS cache and randomness manager tlsproxy(8), Postfix TLS proxy server trivial-rewrite(8), Postfix address rewriting verify(8), Postfix address verification virtual(8), Postfix virtual delivery agent Other: syslogd(8), system logging .SH "README FILES" .na .nf .ad .fi Use "\fBpostconf readme_directory\fR" or "\fBpostconf html_directory\fR" to locate this information. .na .nf OVERVIEW, overview of Postfix commands and processes BASIC_CONFIGURATION_README, Postfix basic configuration ADDRESS_REWRITING_README, Postfix address rewriting SMTPD_ACCESS_README, SMTP relay/access control CONTENT_INSPECTION_README, Postfix content inspection QSHAPE_README, Postfix queue analysis .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA TLS support by: Lutz Jaenicke Brandenburg University of Technology Cottbus, Germany Victor Duchovni Morgan Stanley SASL support originally by: Till Franke SuSE Rhein/Main AG 65760 Eschborn, Germany LMTP support originally by: Philip A. Prindeville Mirapoint, Inc. USA. Amos Gouaux University of Texas at Dallas P.O. Box 830688, MC34 Richardson, TX 75083, USA IPv6 support originally by: Mark Huizer, Eindhoven University, The Netherlands Jun-ichiro 'itojun' Hagino, KAME project, Japan The Linux PLD project Dean Strik, Eindhoven University, The Netherlands 070701000682c5000081a4000000000000000000000001513697a70000269e0000010000010031ffffffffffffffff0000002200000000root/usr/local/man/man1/postmap.1.TH POSTMAP 1 .ad .fi .SH NAME postmap \- Postfix lookup table management .SH "SYNOPSIS" .na .nf .fi \fBpostmap\fR [\fB-Nbfhimnoprsvw\fR] [\fB-c \fIconfig_dir\fR] [\fB-d \fIkey\fR] [\fB-q \fIkey\fR] [\fIfile_type\fR:]\fIfile_name\fR ... .SH DESCRIPTION .ad .fi The \fBpostmap\fR(1) command creates or queries one or more Postfix lookup tables, or updates an existing one. The input and output file formats are expected to be compatible with: .nf \fBmakemap \fIfile_type\fR \fIfile_name\fR < \fIfile_name\fR .fi If the result files do not exist they will be created with the same group and other read permissions as their source file. While the table update is in progress, signal delivery is postponed, and an exclusive, advisory, lock is placed on the entire table, in order to avoid surprises in spectator processes. .SH "INPUT FILE FORMAT" .na .nf .ad .fi The format of a lookup table input file is as follows: .IP \(bu A table entry has the form .sp .nf \fIkey\fR whitespace \fIvalue\fR .fi .IP \(bu Empty lines and whitespace-only lines are ignored, as are lines whose first non-whitespace character is a `#'. .IP \(bu A logical line starts with non-whitespace text. A line that starts with whitespace continues a logical line. .PP The \fIkey\fR and \fIvalue\fR are processed as is, except that surrounding white space is stripped off. Unlike with Postfix alias databases, quotes cannot be used to protect lookup keys that contain special characters such as `#' or whitespace. By default the lookup key is mapped to lowercase to make the lookups case insensitive; as of Postfix 2.3 this case folding happens only with tables whose lookup keys are fixed-case strings such as btree:, dbm: or hash:. With earlier versions, the lookup key is folded even with tables where a lookup field can match both upper and lower case text, such as regexp: and pcre:. This resulted in loss of information with $\fInumber\fR substitutions. .SH "COMMAND-LINE ARGUMENTS" .na .nf .ad .fi .IP \fB-b\fR Enable message body query mode. When reading lookup keys from standard input with "\fB-q -\fR", process the input as if it is an email message in RFC 2822 format. Each line of body content becomes one lookup key. .sp By default, the \fB-b\fR option starts generating lookup keys at the first non-header line, and stops when the end of the message is reached. To simulate \fBbody_checks\fR(5) processing, enable MIME parsing with \fB-m\fR. With this, the \fB-b\fR option generates no body-style lookup keys for attachment MIME headers and for attached message/* headers. .sp This feature is available in Postfix version 2.6 and later. .IP "\fB-c \fIconfig_dir\fR" Read the \fBmain.cf\fR configuration file in the named directory instead of the default configuration directory. .IP "\fB-d \fIkey\fR" Search the specified maps for \fIkey\fR and remove one entry per map. The exit status is zero when the requested information was found. If a key value of \fB-\fR is specified, the program reads key values from the standard input stream. The exit status is zero when at least one of the requested keys was found. .IP \fB-f\fR Do not fold the lookup key to lower case while creating or querying a table. With Postfix version 2.3 and later, this option has no effect for regular expression tables. There, case folding is controlled by appending a flag to a pattern. .IP \fB-h\fR Enable message header query mode. When reading lookup keys from standard input with "\fB-q -\fR", process the input as if it is an email message in RFC 2822 format. Each logical header line becomes one lookup key. A multi-line header becomes one lookup key with one or more embedded newline characters. .sp By default, the \fB-h\fR option generates lookup keys until the first non-header line is reached. To simulate \fBheader_checks\fR(5) processing, enable MIME parsing with \fB-m\fR. With this, the \fB-h\fR option also generates header-style lookup keys for attachment MIME headers and for attached message/* headers. .sp This feature is available in Postfix version 2.6 and later. .IP \fB-i\fR Incremental mode. Read entries from standard input and do not truncate an existing database. By default, \fBpostmap\fR(1) creates a new database from the entries in \fBfile_name\fR. .IP \fB-m\fR Enable MIME parsing with "\fB-b\fR" and "\fB-h\fR". .sp This feature is available in Postfix version 2.6 and later. .IP \fB-N\fR Include the terminating null character that terminates lookup keys and values. By default, \fBpostmap\fR(1) does whatever is the default for the host operating system. .IP \fB-n\fR Don't include the terminating null character that terminates lookup keys and values. By default, \fBpostmap\fR(1) does whatever is the default for the host operating system. .IP \fB-o\fR Do not release root privileges when processing a non-root input file. By default, \fBpostmap\fR(1) drops root privileges and runs as the source file owner instead. .IP \fB-p\fR Do not inherit the file access permissions from the input file when creating a new file. Instead, create a new file with default access permissions (mode 0644). .IP "\fB-q \fIkey\fR" Search the specified maps for \fIkey\fR and write the first value found to the standard output stream. The exit status is zero when the requested information was found. If a key value of \fB-\fR is specified, the program reads key values from the standard input stream and writes one line of \fIkey value\fR output for each key that was found. The exit status is zero when at least one of the requested keys was found. .IP \fB-r\fR When updating a table, do not complain about attempts to update existing entries, and make those updates anyway. .IP \fB-s\fR Retrieve all database elements, and write one line of \fIkey value\fR output for each element. The elements are printed in database order, which is not necessarily the same as the original input order. .sp This feature is available in Postfix version 2.2 and later, and is not available for all database types. .IP \fB-v\fR Enable verbose logging for debugging purposes. Multiple \fB-v\fR options make the software increasingly verbose. .IP \fB-w\fR When updating a table, do not complain about attempts to update existing entries, and ignore those attempts. .PP Arguments: .IP \fIfile_type\fR The database type. To find out what types are supported, use the "\fBpostconf -m\fR" command. The \fBpostmap\fR(1) command can query any supported file type, but it can create only the following file types: .RS .IP \fBbtree\fR The output file is a btree file, named \fIfile_name\fB.db\fR. This is available on systems with support for \fBdb\fR databases. .IP \fBcdb\fR The output consists of one file, named \fIfile_name\fB.cdb\fR. This is available on systems with support for \fBcdb\fR databases. .IP \fBdbm\fR The output consists of two files, named \fIfile_name\fB.pag\fR and \fIfile_name\fB.dir\fR. This is available on systems with support for \fBdbm\fR databases. .IP \fBhash\fR The output file is a hashed file, named \fIfile_name\fB.db\fR. This is available on systems with support for \fBdb\fR databases. .IP \fBfail\fR A table that reliably fails all requests. The lookup table name is used for logging only. This table exists to simplify Postfix error tests. .IP \fBsdbm\fR The output consists of two files, named \fIfile_name\fB.pag\fR and \fIfile_name\fB.dir\fR. This is available on systems with support for \fBsdbm\fR databases. .PP When no \fIfile_type\fR is specified, the software uses the database type specified via the \fBdefault_database_type\fR configuration parameter. .RE .IP \fIfile_name\fR The name of the lookup table source file when rebuilding a database. .SH DIAGNOSTICS .ad .fi Problems are logged to the standard error stream and to \fBsyslogd\fR(8). No output means that no problems were detected. Duplicate entries are skipped and are flagged with a warning. \fBpostmap\fR(1) terminates with zero exit status in case of success (including successful "\fBpostmap -q\fR" lookup) and terminates with non-zero exit status in case of failure. .SH "ENVIRONMENT" .na .nf .ad .fi .IP \fBMAIL_CONFIG\fR Directory with Postfix configuration files. .IP \fBMAIL_VERBOSE\fR Enable verbose logging for debugging purposes. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi The following \fBmain.cf\fR parameters are especially relevant to this program. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. .IP "\fBberkeley_db_create_buffer_size (16777216)\fR" The per-table I/O buffer size for programs that create Berkeley DB hash or btree tables. .IP "\fBberkeley_db_read_buffer_size (131072)\fR" The per-table I/O buffer size for programs that read Berkeley DB hash or btree tables. .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBdefault_database_type (see 'postconf -d' output)\fR" The default database type for use in \fBnewaliases\fR(1), \fBpostalias\fR(1) and \fBpostmap\fR(1) commands. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .SH "SEE ALSO" .na .nf postalias(1), create/update/query alias database postconf(1), supported database types postconf(5), configuration parameters syslogd(8), system logging .SH "README FILES" .na .nf .ad .fi Use "\fBpostconf readme_directory\fR" or "\fBpostconf html_directory\fR" to locate this information. .na .nf DATABASE_README, Postfix lookup table overview .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682bc000081a4000000000000000000000001513697a7000000140000010000010031ffffffffffffffff0000002500000000root/usr/local/man/man1/newaliases.1.so man1/sendmail.1 070701000682c3000081a4000000000000000000000001513697a700000c330000010000010031ffffffffffffffff0000002300000000root/usr/local/man/man1/postlock.1.TH POSTLOCK 1 .ad .fi .SH NAME postlock \- lock mail folder and execute command .SH "SYNOPSIS" .na .nf .fi \fBpostlock\fR [\fB-c \fIconfig_dir\fB] [\fB-l \fIlock_style\fB] [\fB-v\fR] \fIfile command...\fR .SH DESCRIPTION .ad .fi The \fBpostlock\fR(1) command locks \fIfile\fR for exclusive access, and executes \fIcommand\fR. The locking method is compatible with the Postfix UNIX-style local delivery agent. Options: .IP "\fB-c \fIconfig_dir\fR" Read the \fBmain.cf\fR configuration file in the named directory instead of the default configuration directory. .IP "\fB-l \fIlock_style\fR" Override the locking method specified via the \fBmailbox_delivery_lock\fR configuration parameter (see below). .IP \fB-v\fR Enable verbose logging for debugging purposes. Multiple \fB-v\fR options make the software increasingly verbose. .PP Arguments: .IP \fIfile\fR A mailbox file. The user should have read/write permission. .IP \fIcommand...\fR The command to execute while \fIfile\fR is locked for exclusive access. The command is executed directly, i.e. without interpretation by a shell command interpreter. .SH DIAGNOSTICS .ad .fi The result status is 75 (EX_TEMPFAIL) when \fBpostlock\fR(1) could not perform the requested operation. Otherwise, the exit status is the exit status from the command. .SH BUGS .ad .fi With remote file systems, the ability to acquire a lock does not necessarily eliminate access conflicts. Avoid file access by processes running on different machines. .SH "ENVIRONMENT" .na .nf .ad .fi .IP \fBMAIL_CONFIG\fR Directory with Postfix configuration files. .IP \fBMAIL_VERBOSE\fR Enable verbose logging for debugging purposes. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi The following \fBmain.cf\fR parameters are especially relevant to this program. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. .SH "LOCKING CONTROLS" .na .nf .ad .fi .IP "\fBdeliver_lock_attempts (20)\fR" The maximal number of attempts to acquire an exclusive lock on a mailbox file or \fBbounce\fR(8) logfile. .IP "\fBdeliver_lock_delay (1s)\fR" The time between attempts to acquire an exclusive lock on a mailbox file or \fBbounce\fR(8) logfile. .IP "\fBstale_lock_time (500s)\fR" The time after which a stale exclusive mailbox lockfile is removed. .IP "\fBmailbox_delivery_lock (see 'postconf -d' output)\fR" How to lock a UNIX-style \fBlocal\fR(8) mailbox before attempting delivery. .SH "RESOURCE AND RATE CONTROLS" .na .nf .ad .fi .IP "\fBfork_attempts (5)\fR" The maximal number of attempts to fork() a child process. .IP "\fBfork_delay (1s)\fR" The delay between attempts to fork() a child process. .SH "MISCELLANEOUS CONTROLS" .na .nf .ad .fi .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .SH "SEE ALSO" .na .nf postconf(5), configuration parameters .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682c9000081a4000000000000000000000001513697a700003e440000010000010031ffffffffffffffff0000002300000000root/usr/local/man/man1/sendmail.1.TH SENDMAIL 1 .ad .fi .SH NAME sendmail \- Postfix to Sendmail compatibility interface .SH "SYNOPSIS" .na .nf \fBsendmail\fR [\fIoption ...\fR] [\fIrecipient ...\fR] \fBmailq\fR \fBsendmail -bp\fR \fBnewaliases\fR \fBsendmail -I\fR .SH DESCRIPTION .ad .fi The Postfix \fBsendmail\fR(1) command implements the Postfix to Sendmail compatibility interface. For the sake of compatibility with existing applications, some Sendmail command-line options are recognized but silently ignored. By default, Postfix \fBsendmail\fR(1) reads a message from standard input until EOF or until it reads a line with only a \fB.\fR character, and arranges for delivery. Postfix \fBsendmail\fR(1) relies on the \fBpostdrop\fR(1) command to create a queue file in the \fBmaildrop\fR directory. Specific command aliases are provided for other common modes of operation: .IP \fBmailq\fR List the mail queue. Each entry shows the queue file ID, message size, arrival time, sender, and the recipients that still need to be delivered. If mail could not be delivered upon the last attempt, the reason for failure is shown. The queue ID string is followed by an optional status character: .RS .IP \fB*\fR The message is in the \fBactive\fR queue, i.e. the message is selected for delivery. .IP \fB!\fR The message is in the \fBhold\fR queue, i.e. no further delivery attempt will be made until the mail is taken off hold. .RE .IP This mode of operation is implemented by executing the \fBpostqueue\fR(1) command. .IP \fBnewaliases\fR Initialize the alias database. If no input file is specified (with the \fB-oA\fR option, see below), the program processes the file(s) specified with the \fBalias_database\fR configuration parameter. If no alias database type is specified, the program uses the type specified with the \fBdefault_database_type\fR configuration parameter. This mode of operation is implemented by running the \fBpostalias\fR(1) command. .sp Note: it may take a minute or so before an alias database update becomes visible. Use the "\fBpostfix reload\fR" command to eliminate this delay. .PP These and other features can be selected by specifying the appropriate combination of command-line options. Some features are controlled by parameters in the \fBmain.cf\fR configuration file. The following options are recognized: .IP "\fB-Am\fR (ignored)" .IP "\fB-Ac\fR (ignored)" Postfix sendmail uses the same configuration file regardless of whether or not a message is an initial submission. .IP "\fB-B \fIbody_type\fR" The message body MIME type: \fB7BIT\fR or \fB8BITMIME\fR. .IP \fB-bd\fR Go into daemon mode. This mode of operation is implemented by executing the "\fBpostfix start\fR" command. .IP "\fB-bh\fR (ignored)" .IP "\fB-bH\fR (ignored)" Postfix has no persistent host status database. .IP \fB-bi\fR Initialize alias database. See the \fBnewaliases\fR command above. .IP \fB-bm\fR Read mail from standard input and arrange for delivery. This is the default mode of operation. .IP \fB-bp\fR List the mail queue. See the \fBmailq\fR command above. .IP \fB-bs\fR Stand-alone SMTP server mode. Read SMTP commands from standard input, and write responses to standard output. In stand-alone SMTP server mode, mail relaying and other access controls are disabled by default. To enable them, run the process as the \fBmail_owner\fR user. .sp This mode of operation is implemented by running the \fBsmtpd\fR(8) daemon. .IP \fB-bv\fR Do not collect or deliver a message. Instead, send an email report after verifying each recipient address. This is useful for testing address rewriting and routing configurations. .sp This feature is available in Postfix version 2.1 and later. .IP "\fB-C \fIconfig_file\fR" .IP "\fB-C \fIconfig_dir\fR" The path name of the Postfix \fBmain.cf\fR file, or of its parent directory. This information is ignored with Postfix versions before 2.3. With all Postfix versions, you can specify a directory pathname with the MAIL_CONFIG environment variable to override the location of configuration files. .IP "\fB-F \fIfull_name\fR Set the sender full name. This overrides the NAME environment variable, and is used only with messages that have no \fBFrom:\fR message header. .IP "\fB-f \fIsender\fR" Set the envelope sender address. This is the address where delivery problems are sent to. With Postfix versions before 2.1, the \fBErrors-To:\fR message header overrides the error return address. .IP \fB-G\fR Gateway (relay) submission, as opposed to initial user submission. Either do not rewrite addresses at all, or update incomplete addresses with the domain information specified with \fBremote_header_rewrite_domain\fR. This option is ignored before Postfix version 2.3. .IP "\fB-h \fIhop_count\fR (ignored)" Hop count limit. Use the \fBhopcount_limit\fR configuration parameter instead. .IP \fB-I\fR Initialize alias database. See the \fBnewaliases\fR command above. .IP "\fB-i\fR" When reading a message from standard input, don\'t treat a line with only a \fB.\fR character as the end of input. .IP "\fB-L \fIlabel\fR (ignored)" The logging label. Use the \fBsyslog_name\fR configuration parameter instead. .IP "\fB-m\fR (ignored)" Backwards compatibility. .IP "\fB-N \fIdsn\fR (default: 'delay, failure')" Delivery status notification control. Specify either a comma-separated list with one or more of \fBfailure\fR (send notification when delivery fails), \fBdelay\fR (send notification when delivery is delayed), or \fBsuccess\fR (send notification when the message is delivered); or specify \fBnever\fR (don't send any notifications at all). This feature is available in Postfix 2.3 and later. .IP "\fB-n\fR (ignored)" Backwards compatibility. .IP "\fB-oA\fIalias_database\fR" Non-default alias database. Specify \fIpathname\fR or \fItype\fR:\fIpathname\fR. See \fBpostalias\fR(1) for details. .IP "\fB-O \fIoption=value\fR (ignored)" Backwards compatibility. .IP "\fB-o7\fR (ignored)" .IP "\fB-o8\fR (ignored)" To send 8-bit or binary content, use an appropriate MIME encapsulation and specify the appropriate \fB-B\fR command-line option. .IP "\fB-oi\fR" When reading a message from standard input, don\'t treat a line with only a \fB.\fR character as the end of input. .IP "\fB-om\fR (ignored)" The sender is never eliminated from alias etc. expansions. .IP "\fB-o \fIx value\fR (ignored)" Set option \fIx\fR to \fIvalue\fR. Use the equivalent configuration parameter in \fBmain.cf\fR instead. .IP "\fB-r \fIsender\fR" Set the envelope sender address. This is the address where delivery problems are sent to. With Postfix versions before 2.1, the \fBErrors-To:\fR message header overrides the error return address. .IP "\fB-R \fIreturn_limit\fR (ignored)" Limit the size of bounced mail. Use the \fBbounce_size_limit\fR configuration parameter instead. .IP \fB-q\fR Attempt to deliver all queued mail. This is implemented by executing the \fBpostqueue\fR(1) command. Warning: flushing undeliverable mail frequently will result in poor delivery performance of all other mail. .IP "\fB-q\fIinterval\fR (ignored)" The interval between queue runs. Use the \fBqueue_run_delay\fR configuration parameter instead. .IP \fB-qI\fIqueueid\fR Schedule immediate delivery of mail with the specified queue ID. This option is implemented by executing the \fBpostqueue\fR(1) command, and is available with Postfix version 2.4 and later. .IP \fB-qR\fIsite\fR Schedule immediate delivery of all mail that is queued for the named \fIsite\fR. This option accepts only \fIsite\fR names that are eligible for the "fast flush" service, and is implemented by executing the \fBpostqueue\fR(1) command. See \fBflush\fR(8) for more information about the "fast flush" service. .IP \fB-qS\fIsite\fR This command is not implemented. Use the slower "\fBsendmail -q\fR" command instead. .IP \fB-t\fR Extract recipients from message headers. These are added to any recipients specified on the command line. With Postfix versions prior to 2.1, this option requires that no recipient addresses are specified on the command line. .IP "\fB-U\fR (ignored)" Initial user submission. .IP "\fB-V \fIenvid\fR" Specify the envelope ID for notification by servers that support DSN. This feature is available in Postfix 2.3 and later. .IP "\fB-XV\fR (Postfix 2.2 and earlier: \fB-V\fR)" Variable Envelope Return Path. Given an envelope sender address of the form \fIowner-listname\fR@\fIorigin\fR, each recipient \fIuser\fR@\fIdomain\fR receives mail with a personalized envelope sender address. .sp By default, the personalized envelope sender address is \fIowner-listname\fB+\fIuser\fB=\fIdomain\fR@\fIorigin\fR. The default \fB+\fR and \fB=\fR characters are configurable with the \fBdefault_verp_delimiters\fR configuration parameter. .IP "\fB-XV\fIxy\fR (Postfix 2.2 and earlier: \fB-V\fIxy\fR)" As \fB-XV\fR, but uses \fIx\fR and \fIy\fR as the VERP delimiter characters, instead of the characters specified with the \fBdefault_verp_delimiters\fR configuration parameter. .IP \fB-v\fR Send an email report of the first delivery attempt (Postfix versions 2.1 and later). Mail delivery always happens in the background. When multiple \fB-v\fR options are given, enable verbose logging for debugging purposes. .IP "\fB-X \fIlog_file\fR (ignored)" Log mailer traffic. Use the \fBdebug_peer_list\fR and \fBdebug_peer_level\fR configuration parameters instead. .SH "SECURITY" .na .nf .ad .fi By design, this program is not set-user (or group) id. However, it must handle data from untrusted, possibly remote, users. Thus, the usual precautions need to be taken against malicious inputs. .SH DIAGNOSTICS .ad .fi Problems are logged to \fBsyslogd\fR(8) and to the standard error stream. .SH "ENVIRONMENT" .na .nf .ad .fi .IP \fBMAIL_CONFIG\fR Directory with Postfix configuration files. .IP "\fBMAIL_VERBOSE\fR (value does not matter)" Enable verbose logging for debugging purposes. .IP "\fBMAIL_DEBUG\fR (value does not matter)" Enable debugging with an external command, as specified with the \fBdebugger_command\fR configuration parameter. .IP \fBNAME\fR The sender full name. This is used only with messages that have no \fBFrom:\fR message header. See also the \fB-F\fR option above. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi The following \fBmain.cf\fR parameters are especially relevant to this program. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. .SH "COMPATIBILITY CONTROLS" .na .nf .ad .fi Available with Postfix 2.9 and later: .IP "\fBsendmail_fix_line_endings (always)\fR" Controls how the Postfix sendmail command converts email message line endings from into UNIX format (). .SH "TROUBLE SHOOTING CONTROLS" .na .nf .ad .fi The DEBUG_README file gives examples of how to trouble shoot a Postfix system. .IP "\fBdebugger_command (empty)\fR" The external command to execute when a Postfix daemon program is invoked with the -D option. .IP "\fBdebug_peer_level (2)\fR" The increment in verbose logging level when a remote client or server matches a pattern in the debug_peer_list parameter. .IP "\fBdebug_peer_list (empty)\fR" 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. .SH "ACCESS CONTROLS" .na .nf .ad .fi Available in Postfix version 2.2 and later: .IP "\fBauthorized_flush_users (static:anyone)\fR" List of users who are authorized to flush the queue. .IP "\fBauthorized_mailq_users (static:anyone)\fR" List of users who are authorized to view the queue. .IP "\fBauthorized_submit_users (static:anyone)\fR" List of users who are authorized to submit mail with the \fBsendmail\fR(1) command (and with the privileged \fBpostdrop\fR(1) helper command). .SH "RESOURCE AND RATE CONTROLS" .na .nf .ad .fi .IP "\fBbounce_size_limit (50000)\fR" The maximal amount of original message text that is sent in a non-delivery notification. .IP "\fBfork_attempts (5)\fR" The maximal number of attempts to fork() a child process. .IP "\fBfork_delay (1s)\fR" The delay between attempts to fork() a child process. .IP "\fBhopcount_limit (50)\fR" The maximal number of Received: message headers that is allowed in the primary message headers. .IP "\fBqueue_run_delay (300s)\fR" The time between deferred queue scans by the queue manager; prior to Postfix 2.4 the default value was 1000s. .SH "FAST FLUSH CONTROLS" .na .nf .ad .fi The ETRN_README file describes configuration and operation details for the Postfix "fast flush" service. .IP "\fBfast_flush_domains ($relay_domains)\fR" Optional list of destinations that are eligible for per-destination logfiles with mail that is queued to those destinations. .SH "VERP CONTROLS" .na .nf .ad .fi The VERP_README file describes configuration and operation details of Postfix support for variable envelope return path addresses. .IP "\fBdefault_verp_delimiters (+=)\fR" The two default VERP delimiter characters. .IP "\fBverp_delimiter_filter (-=+)\fR" The characters Postfix accepts as VERP delimiter characters on the Postfix \fBsendmail\fR(1) command line and in SMTP commands. .SH "MISCELLANEOUS CONTROLS" .na .nf .ad .fi .IP "\fBalias_database (see 'postconf -d' output)\fR" The alias databases for \fBlocal\fR(8) delivery that are updated with "\fBnewaliases\fR" or with "\fBsendmail -bi\fR". .IP "\fBcommand_directory (see 'postconf -d' output)\fR" The location of all postfix administrative commands. .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBdaemon_directory (see 'postconf -d' output)\fR" The directory with Postfix support programs and daemon programs. .IP "\fBdefault_database_type (see 'postconf -d' output)\fR" The default database type for use in \fBnewaliases\fR(1), \fBpostalias\fR(1) and \fBpostmap\fR(1) commands. .IP "\fBdelay_warning_time (0h)\fR" The time after which the sender receives the message headers of mail that is still queued. .IP "\fBenable_errors_to (no)\fR" Report mail delivery errors to the address specified with the non-standard Errors-To: message header, instead of the envelope sender address (this feature is removed with Postfix version 2.2, is turned off by default with Postfix version 2.1, and is always turned on with older Postfix versions). .IP "\fBmail_owner (postfix)\fR" The UNIX system account that owns the Postfix queue and most Postfix daemon processes. .IP "\fBqueue_directory (see 'postconf -d' output)\fR" The location of the Postfix top-level queue directory. .IP "\fBremote_header_rewrite_domain (empty)\fR" Don't rewrite message headers from remote clients at all when this parameter is empty; otherwise, rewrite message headers and append the specified domain name to incomplete addresses. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .SH "FILES" .na .nf /var/spool/postfix, mail queue /etc/postfix, configuration files .SH "SEE ALSO" .na .nf pickup(8), mail pickup daemon qmgr(8), queue manager smtpd(8), SMTP server flush(8), fast flush service postsuper(1), queue maintenance postalias(1), create/update/query alias database postdrop(1), mail posting utility postfix(1), mail system control postqueue(1), mail queue control syslogd(8), system logging .SH "README_FILES" .na .nf .ad .fi Use "\fBpostconf readme_directory\fR" or "\fBpostconf html_directory\fR" to locate this information. .na .nf DEBUG_README, Postfix debugging howto ETRN_README, Postfix ETRN howto VERP_README, Postfix VERP howto .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682c0000081a4000000000000000000000001513697a700000e4a0000010000010031ffffffffffffffff0000002300000000root/usr/local/man/man1/postdrop.1.TH POSTDROP 1 .ad .fi .SH NAME postdrop \- Postfix mail posting utility .SH "SYNOPSIS" .na .nf \fBpostdrop\fR [\fB-rv\fR] [\fB-c \fIconfig_dir\fR] .SH DESCRIPTION .ad .fi The \fBpostdrop\fR(1) command creates a file in the \fBmaildrop\fR directory and copies its standard input to the file. Options: .IP "\fB-c \fIconfig_dir\fR" The \fBmain.cf\fR configuration file is in the named directory instead of the default configuration directory. See also the MAIL_CONFIG environment setting below. .IP \fB-r\fR Use a Postfix-internal protocol for reading the message from standard input, and for reporting status information on standard output. This is currently the only supported method. .IP \fB-v\fR Enable verbose logging for debugging purposes. Multiple \fB-v\fR options make the software increasingly verbose. As of Postfix 2.3, this option is available for the super-user only. .SH "SECURITY" .na .nf .ad .fi The command is designed to run with set-group ID privileges, so that it can write to the \fBmaildrop\fR queue directory and so that it can connect to Postfix daemon processes. .SH DIAGNOSTICS .ad .fi Fatal errors: malformed input, I/O error, out of memory. Problems are logged to \fBsyslogd\fR(8) and to the standard error stream. When the input is incomplete, or when the process receives a HUP, INT, QUIT or TERM signal, the queue file is deleted. .SH "ENVIRONMENT" .na .nf .ad .fi .IP MAIL_CONFIG Directory with the \fBmain.cf\fR file. In order to avoid exploitation of set-group ID privileges, a non-standard directory is allowed only if: .RS .IP \(bu The name is listed in the standard \fBmain.cf\fR file with the \fBalternate_config_directories\fR configuration parameter. .IP \(bu The command is invoked by the super-user. .RE .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi The following \fBmain.cf\fR parameters are especially relevant to this program. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. .IP "\fBalternate_config_directories (empty)\fR" A list of non-default Postfix configuration directories that may be specified with "-c config_directory" on the command line, or via the MAIL_CONFIG environment parameter. .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBimport_environment (see 'postconf -d' output)\fR" The list of environment parameters that a Postfix process will import from a non-Postfix parent process. .IP "\fBqueue_directory (see 'postconf -d' output)\fR" The location of the Postfix top-level queue directory. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .IP "\fBtrigger_timeout (10s)\fR" The time limit for sending a trigger to a Postfix daemon (for example, the \fBpickup\fR(8) or \fBqmgr\fR(8) daemon). .PP Available in Postfix version 2.2 and later: .IP "\fBauthorized_submit_users (static:anyone)\fR" List of users who are authorized to submit mail with the \fBsendmail\fR(1) command (and with the privileged \fBpostdrop\fR(1) helper command). .SH "FILES" .na .nf /var/spool/postfix/maildrop, maildrop queue .SH "SEE ALSO" .na .nf sendmail(1), compatibility interface postconf(5), configuration parameters syslogd(8), system logging .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682bb000081a4000000000000000000000001513697a7000000140000010000010031ffffffffffffffff0000002000000000root/usr/local/man/man1/mailq.1.so man1/sendmail.1 070701000682c6000081a4000000000000000000000001513697a7000039f90000010000010031ffffffffffffffff0000002400000000root/usr/local/man/man1/postmulti.1.TH POSTMULTI 1 .ad .fi .SH NAME postmulti \- Postfix multi-instance manager .SH "SYNOPSIS" .na .nf .fi \fBENABLING MULTI-INSTANCE MANAGEMENT:\fR \fBpostmulti\fR \fB-e init\fR [\fB-v\fR] \fBITERATOR MODE:\fR \fBpostmulti\fR \fB-l\fR [\fB-aRv\fR] [\fB-g \fIgroup\fR] [\fB-i \fIname\fR] \fBpostmulti\fR \fB-p\fR [\fB-av\fR] [\fB-g \fIgroup\fR] [\fB-i \fIname\fR] \fIcommand...\fR \fBpostmulti\fR \fB-x\fR [\fB-aRv\fR] [\fB-g \fIgroup\fR] [\fB-i \fIname\fR] \fIcommand...\fR \fBLIFE-CYCLE MANAGEMENT:\fR \fBpostmulti\fR \fB-e create\fR [\fB-av\fR] [\fB-g \fIgroup\fR] [\fB-i \fIname\fR] [\fB-G \fIgroup\fR] [\fB-I \fIname\fR] [\fIparam=value\fR ...] \fBpostmulti\fR \fB-e import\fR [\fB-av\fR] [\fB-g \fIgroup\fR] [\fB-i \fIname\fR] [\fB-G \fIgroup\fR] [\fB-I \fIname\fR] [\fBconfig_directory=\fI/path\fR] \fBpostmulti\fR \fB-e destroy\fR [\fB-v\fR] \fB-i \fIname\fR \fBpostmulti\fR \fB-e deport\fR [\fB-v\fR] \fB-i \fIname\fR \fBpostmulti\fR \fB-e enable\fR [\fB-v\fR] \fB-i \fIname\fR \fBpostmulti\fR \fB-e disable\fR [\fB-v\fR] \fB-i \fIname\fR \fBpostmulti\fR \fB-e assign\fR [\fB-v\fR] \fB-i \fIname\fR [\fB-I \fIname\fR] [-G \fIgroup\fR] .SH DESCRIPTION .ad .fi The \fBpostmulti\fR(1) command allows a Postfix administrator to manage multiple Postfix instances on a single host. \fBpostmulti\fR(1) implements two fundamental modes of operation. In \fBiterator\fR mode, it executes the same command for multiple Postfix instances. In \fBlife-cycle management\fR mode, it adds or deletes one instance, or changes the multi-instance status of one instance. Each mode of operation has its own command syntax. For this reason, each mode is documented in separate sections below. .SH "BACKGROUND" .na .nf .ad .fi A multi-instance configuration consists of one primary Postfix instance, and one or more secondary instances whose configuration directory pathnames are recorded in the primary instance's main.cf file. Postfix instances share program files and documentation, but have their own configuration, queue and data directories. Currently, only the default Postfix instance can be used as primary instance in a multi-instance configuration. The \fBpostmulti\fR(1) command does not currently support a \fB-c\fR option to select an alternative primary instance, and exits with a fatal error if the \fBMAIL_CONFIG\fR environment variable is set to a non-default configuration directory. See the MULTI_INSTANCE_README tutorial for a more detailed discussion of multi-instance management with \fBpostmulti\fR(1). .SH "ITERATOR MODE" .na .nf .ad .fi In iterator mode, \fBpostmulti\fR performs the same operation on all Postfix instances in turn. If multi-instance support is not enabled, the requested command is performed just for the primary instance. .PP Iterator mode implements the following command options: .SH "Instance selection" .IP \fB-a\fR Perform the operation on all instances. This is the default. .IP "\fB-g \fIgroup\fR" Perform the operation only for members of the named \fIgroup\fR. .IP "\fB-i \fIname\fR" Perform the operation only for the instance with the specified \fIname\fR. You can specify either the instance name or the absolute pathname of the instance's configuration directory. Specify "-" to select the primary Postfix instance. .IP \fB-R\fR Reverse the iteration order. This may be appropriate when updating a multi-instance system, where "sink" instances are started before "source" instances. .sp This option cannot be used with \fB-p\fR. .SH "List mode" .IP \fB-l\fR List Postfix instances with their instance name, instance group name, enable/disable status and configuration directory. .SH "Postfix-wrapper mode" .IP \fB-p\fR Invoke \fBpostfix(1)\fR to execute the specified \fIcommand\fR. This option implements the \fBpostfix-wrapper\fR(5) interface. .RS .IP \(bu With "start"-like commands, "postfix check" is executed for instances that are not enabled. The full list of commands is specified with the postmulti_start_commands parameter. .IP \(bu With "stop"-like commands, the iteration order is reversed, and disabled instances are skipped. The full list of commands is specified with the postmulti_stop_commands parameter. .IP \(bu With "reload" and other commands that require a started instance, disabled instances are skipped. The full list of commands is specified with the postmulti_control_commands parameter. .IP \(bu With "status" and other commands that don't require a started instance, the command is executed for all instances. .RE .IP The \fB-p\fR option can also be used interactively to start/stop/etc. a named instance or instance group. For example, to start just the instances in the group "msa", invoke \fBpostmulti\fR(1) as follows: .RS .IP # postmulti -g msa -p start .RE .SH "Command mode" .IP \fB-x\fR Execute the specified \fIcommand\fR for all Postfix instances. The command runs with appropriate environment settings for MAIL_CONFIG, command_directory, daemon_directory, config_directory, queue_directory, data_directory, multi_instance_name, multi_instance_group and multi_instance_enable. .SH "Other options" .IP \fB-v\fR Enable verbose logging for debugging purposes. Multiple \fB-v\fR options make the software increasingly verbose. .SH "LIFE-CYCLE MANAGEMENT MODE" .na .nf .ad .fi With the \fB-e\fR option \fBpostmulti\fR(1) can be used to add or delete a Postfix instance, and to manage the multi-instance status of an existing instance. .PP The following options are implemented: .SH "Existing instance selection" .IP \fB-a\fR When creating or importing an instance, place the new instance at the front of the secondary instance list. .IP "\fB-g \fIgroup\fR" When creating or importing an instance, place the new instance before the first secondary instance that is a member of the specified group. .IP "\fB-i \fIname\fR" When creating or importing an instance, place the new instance before the matching secondary instance. .sp With other life-cycle operations, apply the operation to the named existing instance. Specify "-" to select the primary Postfix instance. .SH "New or existing instance name assignment" .IP "\fB-I \fIname\fR" Assign the specified instance \fIname\fR to an existing instance, newly-created instance, or imported instance. Instance names other than "-" (which makes the instance "nameless") must start with "postfix-". This restriction reduces the likelihood of name collisions with system files. .IP "\fB-G \fIgroup\fR" Assign the specified \fIgroup\fR name to an existing instance or to a newly created or imported instance. .SH "Instance creation/deletion/status change" .IP "\fB-e \fIaction\fR" "Edit" managed instances. The following actions are supported: .RS .IP \fBinit\fR This command is required before \fBpostmulti\fR(1) can be used to manage Postfix instances. The "postmulti -e init" command updates the primary instance's main.cf file by setting: .RS .IP .nf multi_instance_wrapper = ${command_directory}/postmulti -p -- multi_instance_enable = yes .fi .RE .IP You can set these by other means if you prefer. .IP \fBcreate\fR Create a new Postfix instance and add it to the multi_instance_directories parameter of the primary instance. The "\fB-I \fIname\fR" option is recommended to give the instance a short name that is used to construct default values for the private directories of the new instance. The "\fB-G \fIgroup\fR" option may be specified to assign the instance to a group, otherwise, the new instance is not a member of any groups. .sp The new instance main.cf is the stock main.cf with the parameters that specify the locations of shared files cloned from the primary instance. For "nameless" instances, you should manually adjust "syslog_name" to yield a unique "logtag" starting with "postfix-" that will uniquely identify the instance in the mail logs. It is simpler to assign the instance a short name with the "\fB-I \fIname\fR" option. .sp Optional "name=value" arguments specify the instance config_directory, queue_directory and data_directory. For example: .RS .IP .nf # postmulti -I postfix-mumble \e -G mygroup -e create \e config_directory=/my/config/dir \e queue_directory=/my/queue/dir \e data_directory=/my/data/dir .fi .RE .IP If any of these pathnames is not supplied, the program attempts to generate the pathname by taking the corresponding primary instance pathname, and by replacing the last pathname component by the value of the \fB-I\fR option. .sp If the instance configuration directory already exists, and contains both a main.cf and master.cf file, \fBcreate\fR will "import" the instance as-is. For existing instances, \fBcreate\fR and \fBimport\fR are identical. .IP \fBimport\fR Import an existing instance into the list of instances managed by the \fBpostmulti\fR(1) multi-instance manager. This adds the instance to the multi_instance_directories list of the primary instance. If the "\fB-I \fIname\fR" option is provided it specifies the new name for the instance and is used to define a default location for the instance configuration directory (as with \fBcreate\fR above). The "\fB-G \fIgroup\fR" option may be used to assign the instance to a group. Add a "\fBconfig_directory=\fI/path\fR" argument to override a default pathname based on "\fB-I \fIname\fR". .IP \fBdestroy\fR Destroy a secondary Postfix instance. To be a candidate for destruction an instance must be disabled, stopped and its queue must not contain any messages. Attempts to destroy the primary Postfix instance trigger a fatal error, without destroying the instance. .sp The instance is removed from the primary instance main.cf file's alternate_config_directories parameter and its data, queue and configuration directories are cleaned of files and directories created by the Postfix system. The main.cf and master.cf files are removed from the configuration directory even if they have been modified since initial creation. Finally, the instance is "deported" from the list of managed instances. .sp If other files are present in instance private directories, the directories may not be fully removed, a warning is logged to alert the administrator. It is expected that an instance built using "fresh" directories via the \fBcreate\fR action will be fully removed by the \fBdestroy\fR action (if first disabled). If the instance configuration and queue directories are populated with additional files (access and rewriting tables, chroot jail content, etc.) the instance directories will not be fully removed. .sp The \fBdestroy\fR action triggers potentially dangerous file removal operations. Make sure the instance's data, queue and configuration directories are set correctly and do not contain any valuable files. .IP \fBdeport\fR Deport a secondary instance from the list of managed instances. This deletes the instance configuration directory from the primary instance's multi_instance_directories list, but does not remove any files or directories. .IP \fBassign\fR Assign a new instance name or a new group name to the selected instance. Use "\fB-G -\fR" to specify "no group" and "\fB-I -\fR" to specify "no name". If you choose to make an instance "nameless", set a suitable syslog_name in the corresponding main.cf file. .IP \fBenable\fR Mark the selected instance as enabled. This just sets the multi_instance_enable parameter to "yes" in the instance's main.cf file. .IP \fBdisable\fR Mark the selected instance as disabled. This means that the instance will not be started etc. with "postfix start", "postmulti -p start" and so on. The instance can still be started etc. with "postfix -c config-directory start". .SH "Other options" .IP \fB-v\fR Enable verbose logging for debugging purposes. Multiple \fB-v\fR options make the software increasingly verbose. .RE .SH "ENVIRONMENT" .na .nf .ad .fi The \fBpostmulti\fR(1) command exports the following environment variables before executing the requested \fIcommand\fR for a given instance: .IP \fBMAIL_VERBOSE\fR This is set when the -v command-line option is present. .IP \fBMAIL_CONFIG\fR The location of the configuration directory of the instance. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBdaemon_directory (see 'postconf -d' output)\fR" The directory with Postfix support programs and daemon programs. .IP "\fBimport_environment (see 'postconf -d' output)\fR" The list of environment parameters that a Postfix process will import from a non-Postfix parent process. .IP "\fBmulti_instance_directories (empty)\fR" An optional list of non-default Postfix configuration directories; these directories belong to additional Postfix instances that share the Postfix executable files and documentation with the default Postfix instance, and that are started, stopped, etc., together with the default Postfix instance. .IP "\fBmulti_instance_group (empty)\fR" The optional instance group name of this Postfix instance. .IP "\fBmulti_instance_name (empty)\fR" The optional instance name of this Postfix instance. .IP "\fBmulti_instance_enable (no)\fR" Allow this Postfix instance to be started, stopped, etc., by a multi-instance manager. .IP "\fBpostmulti_start_commands (start)\fR" The \fBpostfix\fR(1) commands that the \fBpostmulti\fR(1) instance manager treats as "start" commands. .IP "\fBpostmulti_stop_commands (see 'postconf -d' output)\fR" The \fBpostfix\fR(1) commands that the \fBpostmulti\fR(1) instance manager treats as "stop" commands. .IP "\fBpostmulti_control_commands (reload flush)\fR" The \fBpostfix\fR(1) commands that the \fBpostmulti\fR(1) instance manager treats as "control" commands, that operate on running instances. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .SH "FILES" .na .nf $daemon_directory/main.cf, stock configuration file $daemon_directory/master.cf, stock configuration file $daemon_directory/postmulti-script, life-cycle helper program .SH "SEE ALSO" .na .nf postfix(1), Postfix control program postfix-wrapper(5), Postfix multi-instance API .SH "README FILES" .na .nf Use "\fBpostconf readme_directory\fR" or "\fBpostconf html_directory\fR" to locate this information. MULTI_INSTANCE_README, Postfix multi-instance management .SH "HISTORY" .na .nf .ad .fi The \fBpostmulti\fR(1) command was introduced with Postfix version 2.6. .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "AUTHOR(S)" .na .nf Victor Duchovni Morgan Stanley Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682c7000081a4000000000000000000000001513697a7000017ae0000010000010031ffffffffffffffff0000002400000000root/usr/local/man/man1/postqueue.1.TH POSTQUEUE 1 .ad .fi .SH NAME postqueue \- Postfix queue control .SH "SYNOPSIS" .na .nf \fBpostqueue\fR [\fB-v\fR] [\fB-c \fIconfig_dir\fR] \fB-f\fR .br \fBpostqueue\fR [\fB-v\fR] [\fB-c \fIconfig_dir\fR] \fB-i \fIqueue_id\fR .br \fBpostqueue\fR [\fB-v\fR] [\fB-c \fIconfig_dir\fR] \fB-p\fR .br \fBpostqueue\fR [\fB-v\fR] [\fB-c \fIconfig_dir\fR] \fB-s \fIsite\fR .SH DESCRIPTION .ad .fi The \fBpostqueue\fR(1) command implements the Postfix user interface for queue management. It implements operations that are traditionally available via the \fBsendmail\fR(1) command. See the \fBpostsuper\fR(1) command for queue operations that require super-user privileges such as deleting a message from the queue or changing the status of a message. The following options are recognized: .IP "\fB-c \fIconfig_dir\fR" The \fBmain.cf\fR configuration file is in the named directory instead of the default configuration directory. See also the MAIL_CONFIG environment setting below. .IP \fB-f\fR Flush the queue: attempt to deliver all queued mail. This option implements the traditional "\fBsendmail -q\fR" command, by contacting the Postfix \fBqmgr\fR(8) daemon. Warning: flushing undeliverable mail frequently will result in poor delivery performance of all other mail. .IP "\fB-i \fIqueue_id\fR" Schedule immediate delivery of deferred mail with the specified queue ID. This option implements the traditional \fBsendmail -qI\fR command, by contacting the \fBflush\fR(8) server. This feature is available with Postfix version 2.4 and later. .IP \fB-p\fR Produce a traditional sendmail-style queue listing. This option implements the traditional \fBmailq\fR command, by contacting the Postfix \fBshowq\fR(8) daemon. Each queue entry shows the queue file ID, message size, arrival time, sender, and the recipients that still need to be delivered. If mail could not be delivered upon the last attempt, the reason for failure is shown. The queue ID string is followed by an optional status character: .RS .IP \fB*\fR The message is in the \fBactive\fR queue, i.e. the message is selected for delivery. .IP \fB!\fR The message is in the \fBhold\fR queue, i.e. no further delivery attempt will be made until the mail is taken off hold. .RE .IP "\fB-s \fIsite\fR" Schedule immediate delivery of all mail that is queued for the named \fIsite\fR. A numerical site must be specified as a valid RFC 2821 address literal enclosed in [], just like in email addresses. The site must be eligible for the "fast flush" service. See \fBflush\fR(8) for more information about the "fast flush" service. This option implements the traditional "\fBsendmail -qR\fIsite\fR" command, by contacting the Postfix \fBflush\fR(8) daemon. .IP \fB-v\fR Enable verbose logging for debugging purposes. Multiple \fB-v\fR options make the software increasingly verbose. As of Postfix 2.3, this option is available for the super-user only. .SH "SECURITY" .na .nf .ad .fi This program is designed to run with set-group ID privileges, so that it can connect to Postfix daemon processes. .SH DIAGNOSTICS .ad .fi Problems are logged to \fBsyslogd\fR(8) and to the standard error stream. .SH "ENVIRONMENT" .na .nf .ad .fi .IP MAIL_CONFIG Directory with the \fBmain.cf\fR file. In order to avoid exploitation of set-group ID privileges, a non-standard directory is allowed only if: .RS .IP \(bu The name is listed in the standard \fBmain.cf\fR file with the \fBalternate_config_directories\fR configuration parameter. .IP \(bu The command is invoked by the super-user. .RE .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi The following \fBmain.cf\fR parameters are especially relevant to this program. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. .IP "\fBalternate_config_directories (empty)\fR" A list of non-default Postfix configuration directories that may be specified with "-c config_directory" on the command line, or via the MAIL_CONFIG environment parameter. .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBcommand_directory (see 'postconf -d' output)\fR" The location of all postfix administrative commands. .IP "\fBfast_flush_domains ($relay_domains)\fR" Optional list of destinations that are eligible for per-destination logfiles with mail that is queued to those destinations. .IP "\fBimport_environment (see 'postconf -d' output)\fR" The list of environment parameters that a Postfix process will import from a non-Postfix parent process. .IP "\fBqueue_directory (see 'postconf -d' output)\fR" The location of the Postfix top-level queue directory. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .IP "\fBtrigger_timeout (10s)\fR" The time limit for sending a trigger to a Postfix daemon (for example, the \fBpickup\fR(8) or \fBqmgr\fR(8) daemon). .PP Available in Postfix version 2.2 and later: .IP "\fBauthorized_flush_users (static:anyone)\fR" List of users who are authorized to flush the queue. .IP "\fBauthorized_mailq_users (static:anyone)\fR" List of users who are authorized to view the queue. .SH "FILES" .na .nf /var/spool/postfix, mail queue .SH "SEE ALSO" .na .nf qmgr(8), queue manager showq(8), list mail queue flush(8), fast flush service sendmail(1), Sendmail-compatible user interface postsuper(1), privileged queue operations .SH "README FILES" .na .nf .ad .fi Use "\fBpostconf readme_directory\fR" or "\fBpostconf html_directory\fR" to locate this information. .na .nf ETRN_README, Postfix ETRN howto .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "HISTORY" .na .nf .ad .fi The postqueue command was introduced with Postfix version 1.1. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682c2000081a4000000000000000000000001513697a70000095c0000010000010031ffffffffffffffff0000002300000000root/usr/local/man/man1/postkick.1.TH POSTKICK 1 .ad .fi .SH NAME postkick \- kick a Postfix service .SH "SYNOPSIS" .na .nf .fi \fBpostkick\fR [\fB-c \fIconfig_dir\fR] [\fB-v\fR] \fIclass service request\fR .SH DESCRIPTION .ad .fi The \fBpostkick\fR(1) command sends \fIrequest\fR to the specified \fIservice\fR over a local transport channel. This command makes Postfix private IPC accessible for use in, for example, shell scripts. Options: .IP "\fB-c\fR \fIconfig_dir\fR" Read the \fBmain.cf\fR configuration file in the named directory instead of the default configuration directory. .IP \fB-v\fR Enable verbose logging for debugging purposes. Multiple \fB-v\fR options make the software increasingly verbose. .PP Arguments: .IP \fIclass\fR Name of a class of local transport channel endpoints, either \fBpublic\fR (accessible by any local user) or \fBprivate\fR (administrative access only). .IP \fIservice\fR The name of a local transport endpoint within the named class. .IP \fIrequest\fR A string. The list of valid requests is service-specific. .SH DIAGNOSTICS .ad .fi Problems and transactions are logged to the standard error stream. .SH "ENVIRONMENT" .na .nf .ad .fi .IP \fBMAIL_CONFIG\fR Directory with Postfix configuration files. .IP \fBMAIL_VERBOSE\fR Enable verbose logging for debugging purposes. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi The following \fBmain.cf\fR parameters are especially relevant to this program. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBapplication_event_drain_time (100s)\fR" How long the \fBpostkick\fR(1) command waits for a request to enter the Postfix daemon process input buffer before giving up. .IP "\fBqueue_directory (see 'postconf -d' output)\fR" The location of the Postfix top-level queue directory. .SH "FILES" .na .nf /var/spool/postfix/private, private class endpoints /var/spool/postfix/public, public class endpoints .SH "SEE ALSO" .na .nf qmgr(8), queue manager trigger protocol pickup(8), local pickup daemon postconf(5), configuration parameters .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682c4000081a4000000000000000000000001513697a7000009620000010000010031ffffffffffffffff0000002200000000root/usr/local/man/man1/postlog.1.TH POSTLOG 1 .ad .fi .SH NAME postlog \- Postfix-compatible logging utility .SH "SYNOPSIS" .na .nf .fi .ad \fBpostlog\fR [\fB-iv\fR] [\fB-c \fIconfig_dir\fR] [\fB-p \fIpriority\fB] [\fB-t \fItag\fR] [\fItext...\fR] .SH DESCRIPTION .ad .fi The \fBpostlog\fR(1) command implements a Postfix-compatible logging interface for use in, for example, shell scripts. By default, \fBpostlog\fR(1) logs the \fItext\fR given on the command line as one record. If no \fItext\fR is specified on the command line, \fBpostlog\fR(1) reads from standard input and logs each input line as one record. Logging is sent to \fBsyslogd\fR(8); when the standard error stream is connected to a terminal, logging is sent there as well. The following options are implemented: .IP "\fB-c \fIconfig_dir\fR" Read the \fBmain.cf\fR configuration file in the named directory instead of the default configuration directory. .IP \fB-i\fR Include the process ID in the logging tag. .IP "\fB-p \fIpriority\fR" Specifies the logging severity: \fBinfo\fR (default), \fBwarn\fR, \fBerror\fR, \fBfatal\fR, or \fBpanic\fR. .IP "\fB-t \fItag\fR" Specifies the logging tag, that is, the identifying name that appears at the beginning of each logging record. A default tag is used when none is specified. .IP \fB-v\fR Enable verbose logging for debugging purposes. Multiple \fB-v\fR options make the software increasingly verbose. .SH "ENVIRONMENT" .na .nf .ad .fi .IP MAIL_CONFIG Directory with the \fBmain.cf\fR file. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi The following \fBmain.cf\fR parameters are especially relevant to this program. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .SH "SEE ALSO" .na .nf postconf(5), configuration parameters syslogd(8), syslog daemon .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682bd000081a4000000000000000000000001513697a70000202d0000010000010031ffffffffffffffff0000002400000000root/usr/local/man/man1/postalias.1.TH POSTALIAS 1 .ad .fi .SH NAME postalias \- Postfix alias database maintenance .SH "SYNOPSIS" .na .nf .fi \fBpostalias\fR [\fB-Nfinoprsvw\fR] [\fB-c \fIconfig_dir\fR] [\fB-d \fIkey\fR] [\fB-q \fIkey\fR] [\fIfile_type\fR:]\fIfile_name\fR ... .SH DESCRIPTION .ad .fi The \fBpostalias\fR(1) command creates or queries one or more Postfix alias databases, or updates an existing one. The input and output file formats are expected to be compatible with Sendmail version 8, and are expected to be suitable for the use as NIS alias maps. If the result files do not exist they will be created with the same group and other read permissions as their source file. While a database update is in progress, signal delivery is postponed, and an exclusive, advisory, lock is placed on the entire database, in order to avoid surprises in spectator processes. The format of Postfix alias input files is described in \fBaliases\fR(5). By default the lookup key is mapped to lowercase to make the lookups case insensitive; as of Postfix 2.3 this case folding happens only with tables whose lookup keys are fixed-case strings such as btree:, dbm: or hash:. With earlier versions, the lookup key is folded even with tables where a lookup field can match both upper and lower case text, such as regexp: and pcre:. This resulted in loss of information with $\fInumber\fR substitutions. Options: .IP "\fB-c \fIconfig_dir\fR" Read the \fBmain.cf\fR configuration file in the named directory instead of the default configuration directory. .IP "\fB-d \fIkey\fR" Search the specified maps for \fIkey\fR and remove one entry per map. The exit status is zero when the requested information was found. If a key value of \fB-\fR is specified, the program reads key values from the standard input stream. The exit status is zero when at least one of the requested keys was found. .IP \fB-f\fR Do not fold the lookup key to lower case while creating or querying a table. With Postfix version 2.3 and later, this option has no effect for regular expression tables. There, case folding is controlled by appending a flag to a pattern. .IP \fB-i\fR Incremental mode. Read entries from standard input and do not truncate an existing database. By default, \fBpostalias\fR(1) creates a new database from the entries in \fIfile_name\fR. .IP \fB-N\fR Include the terminating null character that terminates lookup keys and values. By default, \fBpostalias\fR(1) does whatever is the default for the host operating system. .IP \fB-n\fR Don't include the terminating null character that terminates lookup keys and values. By default, \fBpostalias\fR(1) does whatever is the default for the host operating system. .IP \fB-o\fR Do not release root privileges when processing a non-root input file. By default, \fBpostalias\fR(1) drops root privileges and runs as the source file owner instead. .IP \fB-p\fR Do not inherit the file access permissions from the input file when creating a new file. Instead, create a new file with default access permissions (mode 0644). .IP "\fB-q \fIkey\fR" Search the specified maps for \fIkey\fR and write the first value found to the standard output stream. The exit status is zero when the requested information was found. If a key value of \fB-\fR is specified, the program reads key values from the standard input stream and writes one line of \fIkey: value\fR output for each key that was found. The exit status is zero when at least one of the requested keys was found. .IP \fB-r\fR When updating a table, do not complain about attempts to update existing entries, and make those updates anyway. .IP \fB-s\fR Retrieve all database elements, and write one line of \fIkey: value\fR output for each element. The elements are printed in database order, which is not necessarily the same as the original input order. This feature is available in Postfix version 2.2 and later, and is not available for all database types. .IP \fB-v\fR Enable verbose logging for debugging purposes. Multiple \fB-v\fR options make the software increasingly verbose. .IP \fB-w\fR When updating a table, do not complain about attempts to update existing entries, and ignore those attempts. .PP Arguments: .IP \fIfile_type\fR The database type. To find out what types are supported, use the "\fBpostconf -m\fR" command. The \fBpostalias\fR(1) command can query any supported file type, but it can create only the following file types: .RS .IP \fBbtree\fR The output is a btree file, named \fIfile_name\fB.db\fR. This is available on systems with support for \fBdb\fR databases. .IP \fBcdb\fR The output is one file named \fIfile_name\fB.cdb\fR. This is available on systems with support for \fBcdb\fR databases. .IP \fBdbm\fR The output consists of two files, named \fIfile_name\fB.pag\fR and \fIfile_name\fB.dir\fR. This is available on systems with support for \fBdbm\fR databases. .IP \fBhash\fR The output is a hashed file, named \fIfile_name\fB.db\fR. This is available on systems with support for \fBdb\fR databases. .IP \fBfail\fR A table that reliably fails all requests. The lookup table name is used for logging only. This table exists to simplify Postfix error tests. .IP \fBsdbm\fR The output consists of two files, named \fIfile_name\fB.pag\fR and \fIfile_name\fB.dir\fR. This is available on systems with support for \fBsdbm\fR databases. .PP When no \fIfile_type\fR is specified, the software uses the database type specified via the \fBdefault_database_type\fR configuration parameter. The default value for this parameter depends on the host environment. .RE .IP \fIfile_name\fR The name of the alias database source file when creating a database. .SH DIAGNOSTICS .ad .fi Problems are logged to the standard error stream and to \fBsyslogd\fR(8). No output means that no problems were detected. Duplicate entries are skipped and are flagged with a warning. \fBpostalias\fR(1) terminates with zero exit status in case of success (including successful "\fBpostalias -q\fR" lookup) and terminates with non-zero exit status in case of failure. .SH "ENVIRONMENT" .na .nf .ad .fi .IP \fBMAIL_CONFIG\fR Directory with Postfix configuration files. .IP \fBMAIL_VERBOSE\fR Enable verbose logging for debugging purposes. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi The following \fBmain.cf\fR parameters are especially relevant to this program. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. .IP "\fBalias_database (see 'postconf -d' output)\fR" The alias databases for \fBlocal\fR(8) delivery that are updated with "\fBnewaliases\fR" or with "\fBsendmail -bi\fR". .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBberkeley_db_create_buffer_size (16777216)\fR" The per-table I/O buffer size for programs that create Berkeley DB hash or btree tables. .IP "\fBberkeley_db_read_buffer_size (131072)\fR" The per-table I/O buffer size for programs that read Berkeley DB hash or btree tables. .IP "\fBdefault_database_type (see 'postconf -d' output)\fR" The default database type for use in \fBnewaliases\fR(1), \fBpostalias\fR(1) and \fBpostmap\fR(1) commands. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .SH "STANDARDS" .na .nf RFC 822 (ARPA Internet Text Messages) .SH "SEE ALSO" .na .nf aliases(5), format of alias database input file. local(8), Postfix local delivery agent. postconf(1), supported database types postconf(5), configuration parameters postmap(1), create/update/query lookup tables newaliases(1), Sendmail compatibility interface. syslogd(8), system logging .SH "README FILES" .na .nf .ad .fi Use "\fBpostconf readme_directory\fR" or "\fBpostconf html_directory\fR" to locate this information. .na .nf DATABASE_README, Postfix lookup table overview .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682be000081a4000000000000000000000001513697a700000a860000010000010031ffffffffffffffff0000002200000000root/usr/local/man/man1/postcat.1.TH POSTCAT 1 .ad .fi .SH NAME postcat \- show Postfix queue file contents .SH "SYNOPSIS" .na .nf \fBpostcat\fR [\fB-bdehnoqv\fR] [\fB-c \fIconfig_dir\fR] [\fIfiles\fR...] .SH DESCRIPTION .ad .fi The \fBpostcat\fR(1) command prints the contents of the named \fIfiles\fR in human-readable form. The files are expected to be in Postfix queue file format. If no \fIfiles\fR are specified on the command line, the program reads from standard input. By default, \fBpostcat\fR(1) shows the envelope and message content, as if the options \fB-beh\fR were specified. To view message content only, specify \fB-bh\fR (Postfix 2.7 and later). Options: .IP \fB-b\fR Show body content. The \fB-b\fR option starts producing output at the first non-header line, and stops when the end of the message is reached. .sp This feature is available in Postfix 2.7 and later. .IP "\fB-c \fIconfig_dir\fR" The \fBmain.cf\fR configuration file is in the named directory instead of the default configuration directory. .IP \fB-d\fR Print the decimal type of each record. .IP \fB-e\fR Show message envelope content. .sp This feature is available in Postfix 2.7 and later. .IP \fB-h\fR Show message header content. The \fB-h\fR option produces output from the beginning of the message up to, but not including, the first non-header line. .sp This feature is available in Postfix 2.7 and later. .IP \fB-o\fR Print the queue file offset of each record. .IP \fB-q\fR Search the Postfix queue for the named \fIfiles\fR instead of taking the names literally. This feature is available in Postfix 2.0 and later. .IP \fB-v\fR Enable verbose logging for debugging purposes. Multiple \fB-v\fR options make the software increasingly verbose. .SH DIAGNOSTICS .ad .fi Problems are reported to the standard error stream. .SH "ENVIRONMENT" .na .nf .ad .fi .IP \fBMAIL_CONFIG\fR Directory with Postfix configuration files. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi The following \fBmain.cf\fR parameters are especially relevant to this program. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBqueue_directory (see 'postconf -d' output)\fR" The location of the Postfix top-level queue directory. .SH "FILES" .na .nf /var/spool/postfix, Postfix queue directory .SH "SEE ALSO" .na .nf postconf(5), Postfix configuration .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682c8000081a4000000000000000000000001513697a70000252a0000010000010031ffffffffffffffff0000002400000000root/usr/local/man/man1/postsuper.1.TH POSTSUPER 1 .ad .fi .SH NAME postsuper \- Postfix superintendent .SH "SYNOPSIS" .na .nf .fi \fBpostsuper\fR [\fB-psSv\fR] [\fB-c \fIconfig_dir\fR] [\fB-d \fIqueue_id\fR] [\fB-h \fIqueue_id\fR] [\fB-H \fIqueue_id\fR] [\fB-r \fIqueue_id\fR] [\fIdirectory ...\fR] .SH DESCRIPTION .ad .fi The \fBpostsuper\fR(1) command does maintenance jobs on the Postfix queue. Use of the command is restricted to the superuser. See the \fBpostqueue\fR(1) command for unprivileged queue operations such as listing or flushing the mail queue. By default, \fBpostsuper\fR(1) performs the operations requested with the \fB-s\fR and \fB-p\fR command-line options on all Postfix queue directories - this includes the \fBincoming\fR, \fBactive\fR and \fBdeferred\fR directories with mail files and the \fBbounce\fR, \fBdefer\fR, \fBtrace\fR and \fBflush\fR directories with log files. Options: .IP "\fB-c \fIconfig_dir\fR" The \fBmain.cf\fR configuration file is in the named directory instead of the default configuration directory. See also the MAIL_CONFIG environment setting below. .IP "\fB-d \fIqueue_id\fR" Delete one message with the named queue ID from the named mail queue(s) (default: \fBhold\fR, \fBincoming\fR, \fBactive\fR and \fBdeferred\fR). If a \fIqueue_id\fR of \fB-\fR is specified, the program reads queue IDs from standard input. For example, to delete all mail with exactly one recipient \fBuser@example.com\fR: .sp .nf mailq | tail +2 | grep -v '^ *(' | awk \'BEGIN { RS = "" } # $7=sender, $8=recipient1, $9=recipient2 { if ($8 == "user@example.com" && $9 == "") print $1 } \' | tr -d '*!' | postsuper -d - .fi .sp Specify "\fB-d ALL\fR" to remove all messages; for example, specify "\fB-d ALL deferred\fR" to delete all mail in the \fBdeferred\fR queue. As a safety measure, the word \fBALL\fR must be specified in upper case. .sp Warning: Postfix queue IDs are reused (always with Postfix <= 2.8; and with Postfix >= 2.9 when enable_long_queue_ids=no). There is a very small possibility that postsuper deletes the wrong message file when it is executed while the Postfix mail system is delivering mail. .sp The scenario is as follows: .RS .IP 1) The Postfix queue manager deletes the message that \fBpostsuper\fR(1) is asked to delete, because Postfix is finished with the message (it is delivered, or it is returned to the sender). .IP 2) New mail arrives, and the new message is given the same queue ID as the message that \fBpostsuper\fR(1) is supposed to delete. The probability for reusing a deleted queue ID is about 1 in 2**15 (the number of different microsecond values that the system clock can distinguish within a second). .IP 3) \fBpostsuper\fR(1) deletes the new message, instead of the old message that it should have deleted. .RE .IP "\fB-h \fIqueue_id\fR" Put mail "on hold" so that no attempt is made to deliver it. Move one message with the named queue ID from the named mail queue(s) (default: \fBincoming\fR, \fBactive\fR and \fBdeferred\fR) to the \fBhold\fR queue. If a \fIqueue_id\fR of \fB-\fR is specified, the program reads queue IDs from standard input. .sp Specify "\fB-h ALL\fR" to hold all messages; for example, specify "\fB-h ALL deferred\fR" to hold all mail in the \fBdeferred\fR queue. As a safety measure, the word \fBALL\fR must be specified in upper case. .sp Note: while mail is "on hold" it will not expire when its time in the queue exceeds the \fBmaximal_queue_lifetime\fR or \fBbounce_queue_lifetime\fR setting. It becomes subject to expiration after it is released from "hold". .sp This feature is available in Postfix 2.0 and later. .IP "\fB-H \fIqueue_id\fR" Release mail that was put "on hold". Move one message with the named queue ID from the named mail queue(s) (default: \fBhold\fR) to the \fBdeferred\fR queue. If a \fIqueue_id\fR of \fB-\fR is specified, the program reads queue IDs from standard input. .sp Note: specify "\fBpostsuper -r\fR" to release mail that was kept on hold for a significant fraction of \fB$maximal_queue_lifetime\fR or \fB$bounce_queue_lifetime\fR, or longer. .sp Specify "\fB-H ALL\fR" to release all mail that is "on hold". As a safety measure, the word \fBALL\fR must be specified in upper case. .sp This feature is available in Postfix 2.0 and later. .IP \fB-p\fR Purge old temporary files that are left over after system or software crashes. .IP "\fB-r \fIqueue_id\fR" Requeue the message with the named queue ID from the named mail queue(s) (default: \fBhold\fR, \fBincoming\fR, \fBactive\fR and \fBdeferred\fR). To requeue multiple messages, specify multiple \fB-r\fR command-line options. Alternatively, if a \fIqueue_id\fR of \fB-\fR is specified, the program reads queue IDs from standard input. .sp Specify "\fB-r ALL\fR" to requeue all messages. As a safety measure, the word \fBALL\fR must be specified in upper case. .sp A requeued message is moved to the \fBmaildrop\fR queue, from where it is copied by the \fBpickup\fR(8) and \fBcleanup\fR(8) daemons to a new queue file. In many respects its handling differs from that of a new local submission. .RS .IP \(bu The message is not subjected to the smtpd_milters or non_smtpd_milters settings. When mail has passed through an external content filter, this would produce incorrect results with Milter applications that depend on original SMTP connection state information. .IP \(bu The message is subjected again to mail address rewriting and substitution. This is useful when rewriting rules or virtual mappings have changed. .sp The address rewriting context (local or remote) is the same as when the message was received. .IP \(bu The message is subjected to the same content_filter settings (if any) as used for new local mail submissions. This is useful when content_filter settings have changed. .RE .IP Warning: Postfix queue IDs are reused (always with Postfix <= 2.8; and with Postfix >= 2.9 when enable_long_queue_ids=no). There is a very small possibility that \fBpostsuper\fR(1) requeues the wrong message file when it is executed while the Postfix mail system is running, but no harm should be done. .sp This feature is available in Postfix 1.1 and later. .IP \fB-s\fR Structure check and structure repair. This should be done once before Postfix startup. .RS .IP \(bu Rename files whose name does not match the message file inode number. This operation is necessary after restoring a mail queue from a different machine or from backup, when queue files were created with Postfix <= 2.8 or with "enable_long_queue_ids = no". .IP \(bu Move queue files that are in the wrong place in the file system hierarchy and remove subdirectories that are no longer needed. File position rearrangements are necessary after a change in the \fBhash_queue_names\fR and/or \fBhash_queue_depth\fR configuration parameters. .IP \(bu Rename queue files created with "enable_long_queue_ids = yes" to short names, for migration to Postfix <= 2.8. The procedure is as follows: .sp .nf .na # postfix stop # postconf enable_long_queue_ids=no # postsuper .ad .fi .sp Run \fBpostsuper\fR(1) repeatedly until it stops reporting file name changes. .RE .IP \fB-S\fR A redundant version of \fB-s\fR that requires that long file names also match the message file inode number. This option exists for testing purposes, and is available with Postfix 2.9 and later. .IP \fB-v\fR Enable verbose logging for debugging purposes. Multiple \fB-v\fR options make the software increasingly verbose. .SH DIAGNOSTICS .ad .fi Problems are reported to the standard error stream and to \fBsyslogd\fR(8). \fBpostsuper\fR(1) reports the number of messages deleted with \fB-d\fR, the number of messages requeued with \fB-r\fR, and the number of messages whose queue file name was fixed with \fB-s\fR. The report is written to the standard error stream and to \fBsyslogd\fR(8). .SH "ENVIRONMENT" .na .nf .ad .fi .IP MAIL_CONFIG Directory with the \fBmain.cf\fR file. .SH BUGS .ad .fi Mail that is not sanitized by Postfix (i.e. mail in the \fBmaildrop\fR queue) cannot be placed "on hold". .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi The following \fBmain.cf\fR parameters are especially relevant to this program. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBhash_queue_depth (1)\fR" The number of subdirectory levels for queue directories listed with the hash_queue_names parameter. .IP "\fBhash_queue_names (deferred, defer)\fR" The names of queue directories that are split across multiple subdirectory levels. .IP "\fBqueue_directory (see 'postconf -d' output)\fR" The location of the Postfix top-level queue directory. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .PP Available in Postfix version 2.9 and later: .IP "\fBenable_long_queue_ids (no)\fR" Enable long, non-repeating, queue IDs (queue file names). .SH "SEE ALSO" .na .nf sendmail(1), Sendmail-compatible user interface postqueue(1), unprivileged queue operations .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682bf000081a4000000000000000000000001513697a700002ce40000010000010031ffffffffffffffff0000002300000000root/usr/local/man/man1/postconf.1.TH POSTCONF 1 .ad .fi .SH NAME postconf \- Postfix configuration utility .SH "SYNOPSIS" .na .nf .fi \fBManaging main.cf:\fR \fBpostconf\fR [\fB-dfhnv\fR] [\fB-c \fIconfig_dir\fR] [\fB-C \fIclass,...\fR] [\fIparameter ...\fR] \fBpostconf\fR [\fB-ev\fR] [\fB-c \fIconfig_dir\fR] [\fIparameter=value ...\fR] \fBpostconf\fR [\fB-#v\fR] [\fB-c \fIconfig_dir\fR] [\fIparameter ...\fR] \fBManaging master.cf:\fR \fBpostconf\fR [\fB-fMv\fR] [\fB-c \fIconfig_dir\fR] [\fIservice ...\fR] \fBManaging bounce message templates:\fR \fBpostconf\fR [\fB-btv\fR] [\fB-c \fIconfig_dir\fR] [\fItemplate_file\fR] \fBManaging other configuration:\fR \fBpostconf\fR [\fB-aAlmv\fR] [\fB-c \fIconfig_dir\fR] .SH DESCRIPTION .ad .fi By default, the \fBpostconf\fR(1) command displays the values of \fBmain.cf\fR configuration parameters, and warns about possible mis-typed parameter names (Postfix 2.9 and later). It can also change \fBmain.cf\fR configuration parameter values, or display other configuration information about the Postfix mail system. Options: .IP \fB-a\fR List the available SASL server plug-in types. The SASL plug-in type is selected with the \fBsmtpd_sasl_type\fR configuration parameter by specifying one of the names listed below. .RS .IP \fBcyrus\fR This server plug-in is available when Postfix is built with Cyrus SASL support. .IP \fBdovecot\fR This server plug-in uses the Dovecot authentication server, and is available when Postfix is built with any form of SASL support. .RE .IP This feature is available with Postfix 2.3 and later. .IP \fB-A\fR List the available SASL client plug-in types. The SASL plug-in type is selected with the \fBsmtp_sasl_type\fR or \fBlmtp_sasl_type\fR configuration parameters by specifying one of the names listed below. .RS .IP \fBcyrus\fR This client plug-in is available when Postfix is built with Cyrus SASL support. .RE .IP This feature is available with Postfix 2.3 and later. .IP "\fB-b\fR [\fItemplate_file\fR]" Display the message text that appears at the beginning of delivery status notification (DSN) messages, replacing $\fBname\fR expressions with actual values as described in \fBbounce\fR(5). To override the built-in templates, specify a template file name at the end of the \fBpostconf\fR(1) command line, or specify a file name in \fBmain.cf\fR with the \fBbounce_template_file\fR parameter. To force selection of the built-in templates, specify an empty template file name on the \fBpostconf\fR(1) command line (in shell language: ""). This feature is available with Postfix 2.3 and later. .IP "\fB-c \fIconfig_dir\fR" The \fBmain.cf\fR configuration file is in the named directory instead of the default configuration directory. .IP "\fB-C \fIclass,...\fR" When displaying \fBmain.cf\fR parameters, select only parameters from the specified class(es): .RS .IP \fBbuiltin\fR Parameters with built-in names. .IP \fBservice\fR Parameters with service-defined names (the first field of a \fBmaster.cf\fR entry plus a Postfix-defined suffix). .IP \fBuser\fR Parameters with user-defined names. .IP \fBall\fR All the above classes. .RE .IP The default is as if "\fB-C all\fR" is specified. .IP \fB-d\fR Print \fBmain.cf\fR default parameter settings instead of actual settings. Specify \fB-df\fR to fold long lines for human readability (Postfix 2.9 and later). .IP \fB-e\fR Edit the \fBmain.cf\fR configuration file, and update parameter settings with the "\fIname\fR=\fIvalue\fR" pairs on the \fBpostconf\fR(1) command line. The file is copied to a temporary file then renamed into place. Specify quotes to protect special characters and whitespace on the \fBpostconf\fR(1) command line. The \fB-e\fR is no longer needed with Postfix version 2.8 and later. .IP \fB-f\fR Fold long lines when printing \fBmain.cf\fR or \fBmaster.cf\fR configuration file entries, for human readability. This feature is available with Postfix 2.9 and later. .IP \fB-h\fR Show \fBmain.cf\fR parameter values without the "\fIname\fR = " label that normally precedes the value. .IP \fB-l\fR List the names of all supported mailbox locking methods. Postfix supports the following methods: .RS .IP \fBflock\fR A kernel-based advisory locking method for local files only. This locking method is available on systems with a BSD compatible library. .IP \fBfcntl\fR A kernel-based advisory locking method for local and remote files. .IP \fBdotlock\fR An application-level locking method. An application locks a file named \fIfilename\fR by creating a file named \fIfilename\fB.lock\fR. The application is expected to remove its own lock file, as well as stale lock files that were left behind after abnormal termination. .RE .IP \fB-m\fR List the names of all supported lookup table types. In Postfix configuration files, lookup tables are specified as \fItype\fB:\fIname\fR, where \fItype\fR is one of the types listed below. The table \fIname\fR syntax depends on the lookup table type as described in the DATABASE_README document. .RS .IP \fBbtree\fR A sorted, balanced tree structure. This is available on systems with support for Berkeley DB databases. .IP \fBcdb\fR A read-optimized structure with no support for incremental updates. This is available on systems with support for CDB databases. .IP \fBcidr\fR A table that associates values with Classless Inter-Domain Routing (CIDR) patterns. This is described in \fBcidr_table\fR(5). .IP \fBdbm\fR An indexed file type based on hashing. This is available on systems with support for DBM databases. .IP \fBenviron\fR The UNIX process environment array. The lookup key is the variable name. Originally implemented for testing, someone may find this useful someday. .IP \fBfail\fR A table that reliably fails all requests. The lookup table name is used for logging. This table exists to simplify Postfix error tests. .IP \fBhash\fR An indexed file type based on hashing. This is available on systems with support for Berkeley DB databases. .IP \fBinternal\fR A non-shared, in-memory hash table. Its content are lost when a process terminates. .IP "\fBldap\fR (read-only)" Perform lookups using the LDAP protocol. This is described in \fBldap_table\fR(5). .IP "\fBmemcache\fR" Perform lookups using the memcache protocol. This is described in \fBmemcache_table\fR(5). .IP "\fBmysql\fR (read-only)" Perform lookups using the MYSQL protocol. This is described in \fBmysql_table\fR(5). .IP "\fBpcre\fR (read-only)" A lookup table based on Perl Compatible Regular Expressions. The file format is described in \fBpcre_table\fR(5). .IP "\fBpgsql\fR (read-only)" Perform lookups using the PostgreSQL protocol. This is described in \fBpgsql_table\fR(5). .IP "\fBproxy\fR" A lookup table that is implemented via the Postfix \fBproxymap\fR(8) service. The table name syntax is \fItype\fB:\fIname\fR. .IP "\fBregexp\fR (read-only)" A lookup table based on regular expressions. The file format is described in \fBregexp_table\fR(5). .IP \fBsdbm\fR An indexed file type based on hashing. This is available on systems with support for SDBM databases. .IP "\fBsqlite\fR (read-only)" Perform lookups from SQLite database files. This is described in \fBsqlite_table\fR(5). .IP "\fBstatic\fR (read-only)" A table that always returns its name as lookup result. For example, \fBstatic:foobar\fR always returns the string \fBfoobar\fR as lookup result. .IP "\fBtcp\fR (read-only)" Perform lookups using a simple request-reply protocol that is described in \fBtcp_table\fR(5). .IP "\fBtexthash\fR (read-only)" Produces similar results as hash: files, except that you don't need to run the \fBpostmap\fR(1) command before you can use the file, and that it does not detect changes after the file is read. .IP "\fBunix\fR (read-only)" A limited way to query the UNIX authentication database. The following tables are implemented: .RS . IP \fBunix:passwd.byname\fR The table is the UNIX password database. The key is a login name. The result is a password file entry in \fBpasswd\fR(5) format. .IP \fBunix:group.byname\fR The table is the UNIX group database. The key is a group name. The result is a group file entry in \fBgroup\fR(5) format. .RE .RE .IP Other table types may exist depending on how Postfix was built. .IP \fB-M\fR Show \fBmaster.cf\fR file contents instead of \fBmain.cf\fR file contents. Specify \fB-Mf\fR to fold long lines for human readability. If \fIservice ...\fR is specified, only the matching services will be output. For example, "\fBpostconf -Mf inet\fR" will output all services that listen on the network. Specify zero or more arguments, each with a \fIservice-type\fR name (\fBinet\fR, \fBunix\fR, \fBfifo\fR, or \fBpass\fR) or with a \fIservice-name.service-type\fR pair, where \fIservice-name\fR is the first field of a master.cf entry. This feature is available with Postfix 2.9 and later. .IP \fB-n\fR Print \fBmain.cf\fR parameter settings that are explicitly specified in \fBmain.cf\fR. Specify \fB-nf\fR to fold long lines for human readability (Postfix 2.9 and later). .IP "\fB-t\fR [\fItemplate_file\fR]" Display the templates for text that appears at the beginning of delivery status notification (DSN) messages, without expanding $\fBname\fR expressions. To override the built-in templates, specify a template file name at the end of the \fBpostconf\fR(1) command line, or specify a file name in \fBmain.cf\fR with the \fBbounce_template_file\fR parameter. To force selection of the built-in templates, specify an empty template file name on the \fBpostconf\fR(1) command line (in shell language: ""). This feature is available with Postfix 2.3 and later. .IP \fB-v\fR Enable verbose logging for debugging purposes. Multiple \fB-v\fR options make the software increasingly verbose. .IP \fB-#\fR Edit the \fBmain.cf\fR configuration file, and comment out the parameters given on the \fBpostconf\fR(1) command line, so that those parameters revert to their default values. The file is copied to a temporary file then renamed into place. Specify a list of parameter names, not \fIname\fR=\fIvalue\fR pairs. There is no \fBpostconf\fR(1) command to perform the reverse operation. This feature is available with Postfix 2.6 and later. .SH DIAGNOSTICS .ad .fi Problems are reported to the standard error stream. .SH "ENVIRONMENT" .na .nf .ad .fi .IP \fBMAIL_CONFIG\fR Directory with Postfix configuration files. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi The following \fBmain.cf\fR parameters are especially relevant to this program. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBbounce_template_file (empty)\fR" Pathname of a configuration file with bounce message templates. .SH "FILES" .na .nf /etc/postfix/main.cf, Postfix configuration parameters /etc/postfix/master.cf, Postfix master daemon configuraton .SH "SEE ALSO" .na .nf bounce(5), bounce template file format master(5), master.cf configuration file syntax postconf(5), main.cf configuration file syntax .SH "README FILES" .na .nf .ad .fi Use "\fBpostconf readme_directory\fR" or "\fBpostconf html_directory\fR" to locate this information. .na .nf DATABASE_README, Postfix lookup table overview .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682e2000041ed000000000000000000000002513697b4000000000000010000010031ffffffffffffffff0000001800000000root/usr/local/man/man8070701000682ef000081a4000000000000000000000001513697a900000edd0000010000010031ffffffffffffffff0000002100000000root/usr/local/man/man8/pickup.8.TH PICKUP 8 .ad .fi .SH NAME pickup \- Postfix local mail pickup .SH "SYNOPSIS" .na .nf \fBpickup\fR [generic Postfix daemon options] .SH DESCRIPTION .ad .fi The \fBpickup\fR(8) daemon waits for hints that new mail has been dropped into the \fBmaildrop\fR directory, and feeds it into the \fBcleanup\fR(8) daemon. Ill-formatted files are deleted without notifying the originator. This program expects to be run from the \fBmaster\fR(8) process manager. .SH "STANDARDS" .na .nf .ad .fi None. The \fBpickup\fR(8) daemon does not interact with the outside world. .SH "SECURITY" .na .nf .ad .fi The \fBpickup\fR(8) daemon is moderately security sensitive. It runs with fixed low privilege and can run in a chrooted environment. However, the program reads files from potentially hostile users. The \fBpickup\fR(8) daemon opens no files for writing, is careful about what files it opens for reading, and does not actually touch any data that is sent to its public service endpoint. .SH DIAGNOSTICS .ad .fi Problems and transactions are logged to \fBsyslogd\fR(8). .SH BUGS .ad .fi The \fBpickup\fR(8) daemon copies mail from file to the \fBcleanup\fR(8) daemon. It could avoid message copying overhead by sending a file descriptor instead of file data, but then the already complex \fBcleanup\fR(8) daemon would have to deal with unfiltered user data. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi As the \fBpickup\fR(8) daemon is a relatively long-running process, up to an hour may pass before a \fBmain.cf\fR change takes effect. Use the command "\fBpostfix reload\fR" command to speed up a change. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. .SH "CONTENT INSPECTION CONTROLS" .na .nf .ad .fi .IP "\fBcontent_filter (empty)\fR" After the message is queued, send the entire message to the specified \fItransport:destination\fR. .IP "\fBreceive_override_options (empty)\fR" Enable or disable recipient validation, built-in content filtering, or address mapping. .SH "MISCELLANEOUS CONTROLS" .na .nf .ad .fi .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBipc_timeout (3600s)\fR" The time limit for sending or receiving information over an internal communication channel. .IP "\fBline_length_limit (2048)\fR" Upon input, long lines are chopped up into pieces of at most this length; upon delivery, long lines are reconstructed. .IP "\fBmax_idle (100s)\fR" The maximum amount of time that an idle Postfix daemon process waits for an incoming connection before terminating voluntarily. .IP "\fBmax_use (100)\fR" The maximal number of incoming connections that a Postfix daemon process will service before terminating voluntarily. .IP "\fBprocess_id (read-only)\fR" The process ID of a Postfix command or daemon process. .IP "\fBprocess_name (read-only)\fR" The process name of a Postfix command or daemon process. .IP "\fBqueue_directory (see 'postconf -d' output)\fR" The location of the Postfix top-level queue directory. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .SH "SEE ALSO" .na .nf cleanup(8), message canonicalization sendmail(1), Sendmail-compatible interface postdrop(1), mail posting agent postconf(5), configuration parameters master(5), generic daemon options master(8), process manager syslogd(8), system logging .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682fb000081a4000000000000000000000001513697aa00001fdf0000010000010031ffffffffffffffff0000002300000000root/usr/local/man/man8/tlsproxy.8.TH TLSPROXY 8 .ad .fi .SH NAME tlsproxy \- Postfix TLS proxy .SH "SYNOPSIS" .na .nf \fBtlsproxy\fR [generic Postfix daemon options] .SH DESCRIPTION .ad .fi The \fBtlsproxy\fR(8) server implements a server-side TLS proxy. It is used by \fBpostscreen\fR(8) to talk SMTP-over-TLS with remote SMTP clients whose whitelist status has expired, but it should also work for non-SMTP protocols. Although one \fBtlsproxy\fR(8) process can serve multiple sessions at the same time, it is a good idea to allow the number of processes to increase with load, so that the service remains responsive. .SH "PROTOCOL EXAMPLE" .na .nf .ad .fi The example below concerns \fBpostscreen\fR(8). However, the \fBtlsproxy\fR(8) server is agnostic of the application protocol, and the example is easily adapted to other applications. The \fBpostscreen\fR(8) server sends the remote SMTP client endpoint string, the requested role (server), and the requested timeout to \fBtlsproxy\fR(8). \fBpostscreen\fR(8) then receives a "TLS available" indication from \fBtlsproxy\fR(8). If the TLS service is available, \fBpostscreen\fR(8) sends the remote SMTP client file descriptor to \fBtlsproxy\fR(8), and sends the plaintext 220 greeting to the remote SMTP client. This triggers TLS negotiations between the remote SMTP client and \fBtlsproxy\fR(8). Upon completion of the TLS-level handshake, \fBtlsproxy\fR(8) translates between plaintext from/to \fBpostscreen\fR(8) and ciphertext to/from the remote SMTP client. .SH "SECURITY" .na .nf .ad .fi The \fBtlsproxy\fR(8) server is moderately security-sensitive. It talks to untrusted clients on the network. The process can be run chrooted at fixed low privilege. .SH DIAGNOSTICS .ad .fi Problems and transactions are logged to \fBsyslogd\fR(8). .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi Changes to \fBmain.cf\fR are not picked up automatically, as \fBtlsproxy\fR(8) processes may run for a long time depending on mail server load. Use the command "\fBpostfix reload\fR" to speed up a change. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. .SH "STARTTLS SUPPORT CONTROLS" .na .nf .ad .fi .IP "\fBtlsproxy_tls_CAfile ($smtpd_tls_CAfile)\fR" A file containing (PEM format) CA certificates of root CAs trusted to sign either remote SMTP client certificates or intermediate CA certificates. .IP "\fBtlsproxy_tls_CApath ($smtpd_tls_CApath)\fR" A directory containing (PEM format) CA certificates of root CAs trusted to sign either remote SMTP client certificates or intermediate CA certificates. .IP "\fBtlsproxy_tls_always_issue_session_ids ($smtpd_tls_always_issue_session_ids)\fR" Force the Postfix \fBtlsproxy\fR(8) server to issue a TLS session id, even when TLS session caching is turned off. .IP "\fBtlsproxy_tls_ask_ccert ($smtpd_tls_ask_ccert)\fR" Ask a remote SMTP client for a client certificate. .IP "\fBtlsproxy_tls_ccert_verifydepth ($smtpd_tls_ccert_verifydepth)\fR" The verification depth for remote SMTP client certificates. .IP "\fBtlsproxy_tls_cert_file ($smtpd_tls_cert_file)\fR" File with the Postfix \fBtlsproxy\fR(8) server RSA certificate in PEM format. .IP "\fBtlsproxy_tls_ciphers ($smtpd_tls_ciphers)\fR" The minimum TLS cipher grade that the Postfix \fBtlsproxy\fR(8) server will use with opportunistic TLS encryption. .IP "\fBtlsproxy_tls_dcert_file ($smtpd_tls_dcert_file)\fR" File with the Postfix \fBtlsproxy\fR(8) server DSA certificate in PEM format. .IP "\fBtlsproxy_tls_dh1024_param_file ($smtpd_tls_dh1024_param_file)\fR" File with DH parameters that the Postfix \fBtlsproxy\fR(8) server should use with EDH ciphers. .IP "\fBtlsproxy_tls_dh512_param_file ($smtpd_tls_dh512_param_file)\fR" File with DH parameters that the Postfix \fBtlsproxy\fR(8) server should use with EDH ciphers. .IP "\fBtlsproxy_tls_dkey_file ($smtpd_tls_dkey_file)\fR" File with the Postfix \fBtlsproxy\fR(8) server DSA private key in PEM format. .IP "\fBtlsproxy_tls_eccert_file ($smtpd_tls_eccert_file)\fR" File with the Postfix \fBtlsproxy\fR(8) server ECDSA certificate in PEM format. .IP "\fBtlsproxy_tls_eckey_file ($smtpd_tls_eckey_file)\fR" File with the Postfix \fBtlsproxy\fR(8) server ECDSA private key in PEM format. .IP "\fBtlsproxy_tls_eecdh_grade ($smtpd_tls_eecdh_grade)\fR" The Postfix \fBtlsproxy\fR(8) server security grade for ephemeral elliptic-curve Diffie-Hellman (EECDH) key exchange. .IP "\fBtlsproxy_tls_exclude_ciphers ($smtpd_tls_exclude_ciphers)\fR" List of ciphers or cipher types to exclude from the \fBtlsproxy\fR(8) server cipher list at all TLS security levels. .IP "\fBtlsproxy_tls_fingerprint_digest ($smtpd_tls_fingerprint_digest)\fR" The message digest algorithm to construct remote SMTP client-certificate fingerprints. .IP "\fBtlsproxy_tls_key_file ($smtpd_tls_key_file)\fR" File with the Postfix \fBtlsproxy\fR(8) server RSA private key in PEM format. .IP "\fBtlsproxy_tls_loglevel ($smtpd_tls_loglevel)\fR" Enable additional Postfix \fBtlsproxy\fR(8) server logging of TLS activity. .IP "\fBtlsproxy_tls_mandatory_ciphers ($smtpd_tls_mandatory_ciphers)\fR" The minimum TLS cipher grade that the Postfix \fBtlsproxy\fR(8) server will use with mandatory TLS encryption. .IP "\fBtlsproxy_tls_mandatory_exclude_ciphers ($smtpd_tls_mandatory_exclude_ciphers)\fR" Additional list of ciphers or cipher types to exclude from the \fBtlsproxy\fR(8) server cipher list at mandatory TLS security levels. .IP "\fBtlsproxy_tls_mandatory_protocols ($smtpd_tls_mandatory_protocols)\fR" The SSL/TLS protocols accepted by the Postfix \fBtlsproxy\fR(8) server with mandatory TLS encryption. .IP "\fBtlsproxy_tls_protocols ($smtpd_tls_protocols)\fR" List of TLS protocols that the Postfix \fBtlsproxy\fR(8) server will exclude or include with opportunistic TLS encryption. .IP "\fBtlsproxy_tls_req_ccert ($smtpd_tls_req_ccert)\fR" With mandatory TLS encryption, require a trusted remote SMTP client certificate in order to allow TLS connections to proceed. .IP "\fBtlsproxy_tls_security_level ($smtpd_tls_security_level)\fR" The SMTP TLS security level for the Postfix \fBtlsproxy\fR(8) server; when a non-empty value is specified, this overrides the obsolete parameters smtpd_use_tls and smtpd_enforce_tls. .IP "\fBtlsproxy_tls_session_cache_timeout ($smtpd_tls_session_cache_timeout)\fR" The expiration time of Postfix \fBtlsproxy\fR(8) server TLS session cache information. .SH "OBSOLETE STARTTLS SUPPORT CONTROLS" .na .nf .ad .fi These parameters are supported for compatibility with \fBsmtpd\fR(8) legacy parameters. .IP "\fBtlsproxy_use_tls ($smtpd_use_tls)\fR" Opportunistic TLS: announce STARTTLS support to remote SMTP clients, but do not require that clients use TLS encryption. .IP "\fBtlsproxy_enforce_tls ($smtpd_enforce_tls)\fR" Mandatory TLS: announce STARTTLS support to remote SMTP clients, and require that clients use TLS encryption. .SH "RESOURCE CONTROLS" .na .nf .ad .fi .IP "\fBtlsproxy_watchdog_timeout (10s)\fR" How much time a \fBtlsproxy\fR(8) process may take to process local or remote I/O before it is terminated by a built-in watchdog timer. .SH "MISCELLANEOUS CONTROLS" .na .nf .ad .fi .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBprocess_id (read-only)\fR" The process ID of a Postfix command or daemon process. .IP "\fBprocess_name (read-only)\fR" The process name of a Postfix command or daemon process. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .SH "SEE ALSO" .na .nf postscreen(8), Postfix zombie blocker smtpd(8), Postfix SMTP server postconf(5), configuration parameters syslogd(5), system logging .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "HISTORY" .na .nf .ad .fi This service was introduced with Postfix version 2.8. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682f4000081a4000000000000000000000001513697a9000015c50000010000010031ffffffffffffffff0000002000000000root/usr/local/man/man8/qmqpd.8.TH QMQPD 8 .ad .fi .SH NAME qmqpd \- Postfix QMQP server .SH "SYNOPSIS" .na .nf \fBqmqpd\fR [generic Postfix daemon options] .SH DESCRIPTION .ad .fi The Postfix QMQP server receives one message per connection. Each message is piped through the \fBcleanup\fR(8) daemon, and is placed into the \fBincoming\fR queue as one single queue file. The program expects to be run from the \fBmaster\fR(8) process manager. The QMQP server implements one access policy: only explicitly authorized client hosts are allowed to use the service. .SH "SECURITY" .na .nf .ad .fi The QMQP server is moderately security-sensitive. It talks to QMQP clients and to DNS servers on the network. The QMQP server can be run chrooted at fixed low privilege. .SH DIAGNOSTICS .ad .fi Problems and transactions are logged to \fBsyslogd\fR(8). .SH BUGS .ad .fi The QMQP protocol provides only one server reply per message delivery. It is therefore not possible to reject individual recipients. The QMQP protocol requires the server to receive the entire message before replying. If a message is malformed, or if any netstring component is longer than acceptable, Postfix replies immediately and closes the connection. It is left up to the client to handle the situation. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi Changes to \fBmain.cf\fR are picked up automatically, as \fBqmqpd\fR(8) processes run for only a limited amount of time. Use the command "\fBpostfix reload\fR" to speed up a change. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. .SH "CONTENT INSPECTION CONTROLS" .na .nf .ad .fi .IP "\fBcontent_filter (empty)\fR" After the message is queued, send the entire message to the specified \fItransport:destination\fR. .IP "\fBreceive_override_options (empty)\fR" Enable or disable recipient validation, built-in content filtering, or address mapping. .SH "RESOURCE AND RATE CONTROLS" .na .nf .ad .fi .IP "\fBline_length_limit (2048)\fR" Upon input, long lines are chopped up into pieces of at most this length; upon delivery, long lines are reconstructed. .IP "\fBhopcount_limit (50)\fR" The maximal number of Received: message headers that is allowed in the primary message headers. .IP "\fBmessage_size_limit (10240000)\fR" The maximal size in bytes of a message, including envelope information. .IP "\fBqmqpd_timeout (300s)\fR" The time limit for sending or receiving information over the network. .SH "TROUBLE SHOOTING CONTROLS" .na .nf .ad .fi .IP "\fBdebug_peer_level (2)\fR" The increment in verbose logging level when a remote client or server matches a pattern in the debug_peer_list parameter. .IP "\fBdebug_peer_list (empty)\fR" 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. .IP "\fBsoft_bounce (no)\fR" Safety net to keep mail queued that would otherwise be returned to the sender. .SH "TARPIT CONTROLS" .na .nf .ad .fi .IP "\fBqmqpd_error_delay (1s)\fR" How long the Postfix QMQP server will pause before sending a negative reply to the remote QMQP client. .SH "MISCELLANEOUS CONTROLS" .na .nf .ad .fi .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBdaemon_timeout (18000s)\fR" How much time a Postfix daemon process may take to handle a request before it is terminated by a built-in watchdog timer. .IP "\fBipc_timeout (3600s)\fR" The time limit for sending or receiving information over an internal communication channel. .IP "\fBmax_idle (100s)\fR" The maximum amount of time that an idle Postfix daemon process waits for an incoming connection before terminating voluntarily. .IP "\fBmax_use (100)\fR" The maximal number of incoming connections that a Postfix daemon process will service before terminating voluntarily. .IP "\fBprocess_id (read-only)\fR" The process ID of a Postfix command or daemon process. .IP "\fBprocess_name (read-only)\fR" The process name of a Postfix command or daemon process. .IP "\fBqmqpd_authorized_clients (empty)\fR" What remote QMQP clients are allowed to connect to the Postfix QMQP server port. .IP "\fBqueue_directory (see 'postconf -d' output)\fR" The location of the Postfix top-level queue directory. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .IP "\fBverp_delimiter_filter (-=+)\fR" The characters Postfix accepts as VERP delimiter characters on the Postfix \fBsendmail\fR(1) command line and in SMTP commands. .PP Available in Postfix version 2.5 and later: .IP "\fBqmqpd_client_port_logging (no)\fR" Enable logging of the remote QMQP client port in addition to the hostname and IP address. .SH "SEE ALSO" .na .nf http://cr.yp.to/proto/qmqp.html, QMQP protocol cleanup(8), message canonicalization master(8), process manager syslogd(8), system logging .SH "README FILES" .na .nf .ad .fi Use "\fBpostconf readme_directory\fR" or "\fBpostconf html_directory\fR" to locate this information. .na .nf QMQP_README, Postfix ezmlm-idx howto. .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "HISTORY" .na .nf .ad .fi The qmqpd service was introduced with Postfix version 1.1. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682f3000081a4000000000000000000000001513697a900003e7f0000010000010031ffffffffffffffff0000001f00000000root/usr/local/man/man8/qmgr.8.TH QMGR 8 .ad .fi .SH NAME qmgr \- Postfix queue manager .SH "SYNOPSIS" .na .nf \fBqmgr\fR [generic Postfix daemon options] .SH DESCRIPTION .ad .fi The \fBqmgr\fR(8) daemon awaits the arrival of incoming mail and arranges for its delivery via Postfix delivery processes. The actual mail routing strategy is delegated to the \fBtrivial-rewrite\fR(8) daemon. This program expects to be run from the \fBmaster\fR(8) process manager. Mail addressed to the local \fBdouble-bounce\fR address is logged and discarded. This stops potential loops caused by undeliverable bounce notifications. .SH "MAIL QUEUES" .na .nf .ad .fi The \fBqmgr\fR(8) daemon maintains the following queues: .IP \fBincoming\fR Inbound mail from the network, or mail picked up by the local \fBpickup\fR(8) daemon from the \fBmaildrop\fR directory. .IP \fBactive\fR Messages that the queue manager has opened for delivery. Only a limited number of messages is allowed to enter the \fBactive\fR queue (leaky bucket strategy, for a fixed delivery rate). .IP \fBdeferred\fR Mail that could not be delivered upon the first attempt. The queue manager implements exponential backoff by doubling the time between delivery attempts. .IP \fBcorrupt\fR Unreadable or damaged queue files are moved here for inspection. .IP \fBhold\fR Messages that are kept "on hold" are kept here until someone sets them free. .SH "DELIVERY STATUS REPORTS" .na .nf .ad .fi The \fBqmgr\fR(8) daemon keeps an eye on per-message delivery status reports in the following directories. Each status report file has the same name as the corresponding message file: .IP \fBbounce\fR Per-recipient status information about why mail is bounced. These files are maintained by the \fBbounce\fR(8) daemon. .IP \fBdefer\fR Per-recipient status information about why mail is delayed. These files are maintained by the \fBdefer\fR(8) daemon. .IP \fBtrace\fR Per-recipient status information as requested with the Postfix "\fBsendmail -v\fR" or "\fBsendmail -bv\fR" command. These files are maintained by the \fBtrace\fR(8) daemon. .PP The \fBqmgr\fR(8) daemon is responsible for asking the \fBbounce\fR(8), \fBdefer\fR(8) or \fBtrace\fR(8) daemons to send delivery reports. .SH "STRATEGIES" .na .nf .ad .fi The queue manager implements a variety of strategies for either opening queue files (input) or for message delivery (output). .IP "\fBleaky bucket\fR" This strategy limits the number of messages in the \fBactive\fR queue and prevents the queue manager from running out of memory under heavy load. .IP \fBfairness\fR When the \fBactive\fR queue has room, the queue manager takes one message from the \fBincoming\fR queue and one from the \fBdeferred\fR queue. This prevents a large mail backlog from blocking the delivery of new mail. .IP "\fBslow start\fR" This strategy eliminates "thundering herd" problems by slowly adjusting the number of parallel deliveries to the same destination. .IP "\fBround robin\fR The queue manager sorts delivery requests by destination. Round-robin selection prevents one destination from dominating deliveries to other destinations. .IP "\fBexponential backoff\fR" Mail that cannot be delivered upon the first attempt is deferred. The time interval between delivery attempts is doubled after each attempt. .IP "\fBdestination status cache\fR" The queue manager avoids unnecessary delivery attempts by maintaining a short-term, in-memory list of unreachable destinations. .IP "\fBpreemptive message scheduling\fR" The queue manager attempts to minimize the average per-recipient delay while still preserving the correct per-message delays, using a sophisticated preemptive message scheduling. .SH "TRIGGERS" .na .nf .ad .fi On an idle system, the queue manager waits for the arrival of trigger events, or it waits for a timer to go off. A trigger is a one-byte message. Depending on the message received, the queue manager performs one of the following actions (the message is followed by the symbolic constant used internally by the software): .IP "\fBD (QMGR_REQ_SCAN_DEFERRED)\fR" Start a deferred queue scan. If a deferred queue scan is already in progress, that scan will be restarted as soon as it finishes. .IP "\fBI (QMGR_REQ_SCAN_INCOMING)\fR" Start an incoming queue scan. If an incoming queue scan is already in progress, that scan will be restarted as soon as it finishes. .IP "\fBA (QMGR_REQ_SCAN_ALL)\fR" Ignore deferred queue file time stamps. The request affects the next deferred queue scan. .IP "\fBF (QMGR_REQ_FLUSH_DEAD)\fR" Purge all information about dead transports and destinations. .IP "\fBW (TRIGGER_REQ_WAKEUP)\fR" Wakeup call, This is used by the master server to instantiate servers that should not go away forever. The action is to start an incoming queue scan. .PP The \fBqmgr\fR(8) daemon reads an entire buffer worth of triggers. Multiple identical trigger requests are collapsed into one, and trigger requests are sorted so that \fBA\fR and \fBF\fR precede \fBD\fR and \fBI\fR. Thus, in order to force a deferred queue run, one would request \fBA F D\fR; in order to notify the queue manager of the arrival of new mail one would request \fBI\fR. .SH "STANDARDS" .na .nf RFC 3463 (Enhanced status codes) RFC 3464 (Delivery status notifications) .SH "SECURITY" .na .nf .ad .fi The \fBqmgr\fR(8) daemon is not security sensitive. It reads single-character messages from untrusted local users, and thus may be susceptible to denial of service attacks. The \fBqmgr\fR(8) daemon does not talk to the outside world, and it can be run at fixed low privilege in a chrooted environment. .SH DIAGNOSTICS .ad .fi Problems and transactions are logged to the syslog daemon. Corrupted message files are saved to the \fBcorrupt\fR queue for further inspection. Depending on the setting of the \fBnotify_classes\fR parameter, the postmaster is notified of bounces and of other trouble. .SH BUGS .ad .fi A single queue manager process has to compete for disk access with multiple front-end processes such as \fBcleanup\fR(8). A sudden burst of inbound mail can negatively impact outbound delivery rates. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi Changes to \fBmain.cf\fR are not picked up automatically as \fBqmgr\fR(8) is a persistent process. Use the "\fBpostfix reload\fR" command after a configuration change. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. In the text below, \fItransport\fR is the first field in a \fBmaster.cf\fR entry. .SH "COMPATIBILITY CONTROLS" .na .nf .ad .fi Available before Postfix version 2.5: .IP "\fBallow_min_user (no)\fR" Allow a sender or recipient address to have `-' as the first character. .PP Available with Postfix version 2.7 and later: .IP "\fBdefault_filter_nexthop (empty)\fR" When a content_filter or FILTER request specifies no explicit next-hop destination, use $default_filter_nexthop instead; when that value is empty, use the domain in the recipient address. .SH "ACTIVE QUEUE CONTROLS" .na .nf .ad .fi .IP "\fBqmgr_clog_warn_time (300s)\fR" The minimal delay between warnings that a specific destination is clogging up the Postfix active queue. .IP "\fBqmgr_message_active_limit (20000)\fR" The maximal number of messages in the active queue. .IP "\fBqmgr_message_recipient_limit (20000)\fR" The maximal number of recipients held in memory by the Postfix queue manager, and the maximal size of the size of the short-term, in-memory "dead" destination status cache. .IP "\fBqmgr_message_recipient_minimum (10)\fR" The minimal number of in-memory recipients for any message. .IP "\fBdefault_recipient_limit (20000)\fR" The default per-transport upper limit on the number of in-memory recipients. .IP "\fItransport\fB_recipient_limit ($default_recipient_limit)\fR" Idem, for delivery via the named message \fItransport\fR. .IP "\fBdefault_extra_recipient_limit (1000)\fR" The default value for the extra per-transport limit imposed on the number of in-memory recipients. .IP "\fItransport\fB_extra_recipient_limit ($default_extra_recipient_limit)\fR" Idem, for delivery via the named message \fItransport\fR. .PP Available in Postfix version 2.4 and later: .IP "\fBdefault_recipient_refill_limit (100)\fR" The default per-transport limit on the number of recipients refilled at once. .IP "\fItransport\fB_recipient_refill_limit ($default_recipient_refill_limit)\fR" Idem, for delivery via the named message \fItransport\fR. .IP "\fBdefault_recipient_refill_delay (5s)\fR" The default per-transport maximum delay between recipients refills. .IP "\fItransport\fB_recipient_refill_delay ($default_recipient_refill_delay)\fR" Idem, for delivery via the named message \fItransport\fR. .SH "DELIVERY CONCURRENCY CONTROLS" .na .nf .ad .fi .IP "\fBinitial_destination_concurrency (5)\fR" The initial per-destination concurrency level for parallel delivery to the same destination. .IP "\fBdefault_destination_concurrency_limit (20)\fR" The default maximal number of parallel deliveries to the same destination. .IP "\fItransport\fB_destination_concurrency_limit ($default_destination_concurrency_limit)\fR" Idem, for delivery via the named message \fItransport\fR. .PP Available in Postfix version 2.5 and later: .IP "\fItransport\fB_initial_destination_concurrency ($initial_destination_concurrency)\fR" Initial concurrency for delivery via the named message \fItransport\fR. .IP "\fBdefault_destination_concurrency_failed_cohort_limit (1)\fR" How many pseudo-cohorts must suffer connection or handshake failure before a specific destination is considered unavailable (and further delivery is suspended). .IP "\fItransport\fB_destination_concurrency_failed_cohort_limit ($default_destination_concurrency_failed_cohort_limit)\fR" Idem, for delivery via the named message \fItransport\fR. .IP "\fBdefault_destination_concurrency_negative_feedback (1)\fR" The per-destination amount of delivery concurrency negative feedback, after a delivery completes with a connection or handshake failure. .IP "\fItransport\fB_destination_concurrency_negative_feedback ($default_destination_concurrency_negative_feedback)\fR" Idem, for delivery via the named message \fItransport\fR. .IP "\fBdefault_destination_concurrency_positive_feedback (1)\fR" The per-destination amount of delivery concurrency positive feedback, after a delivery completes without connection or handshake failure. .IP "\fItransport\fB_destination_concurrency_positive_feedback ($default_destination_concurrency_positive_feedback)\fR" Idem, for delivery via the named message \fItransport\fR. .IP "\fBdestination_concurrency_feedback_debug (no)\fR" Make the queue manager's feedback algorithm verbose for performance analysis purposes. .SH "RECIPIENT SCHEDULING CONTROLS" .na .nf .ad .fi .IP "\fBdefault_destination_recipient_limit (50)\fR" The default maximal number of recipients per message delivery. .IP "\fItransport\fB_destination_recipient_limit ($default_destination_recipient_limit)\fR" Idem, for delivery via the named message \fItransport\fR. .SH "MESSAGE SCHEDULING CONTROLS" .na .nf .ad .fi .IP "\fBdefault_delivery_slot_cost (5)\fR" How often the Postfix queue manager's scheduler is allowed to preempt delivery of one message with another. .IP "\fItransport\fB_delivery_slot_cost ($default_delivery_slot_cost)\fR" Idem, for delivery via the named message \fItransport\fR. .IP "\fBdefault_minimum_delivery_slots (3)\fR" How many recipients a message must have in order to invoke the Postfix queue manager's scheduling algorithm at all. .IP "\fItransport\fB_minimum_delivery_slots ($default_minimum_delivery_slots)\fR" Idem, for delivery via the named message \fItransport\fR. .IP "\fBdefault_delivery_slot_discount (50)\fR" The default value for transport-specific _delivery_slot_discount settings. .IP "\fItransport\fB_delivery_slot_discount ($default_delivery_slot_discount)\fR" Idem, for delivery via the named message \fItransport\fR. .IP "\fBdefault_delivery_slot_loan (3)\fR" The default value for transport-specific _delivery_slot_loan settings. .IP "\fItransport\fB_delivery_slot_loan ($default_delivery_slot_loan)\fR" Idem, for delivery via the named message \fItransport\fR. .SH "OTHER RESOURCE AND RATE CONTROLS" .na .nf .ad .fi .IP "\fBminimal_backoff_time (300s)\fR" The minimal time between attempts to deliver a deferred message; prior to Postfix 2.4 the default value was 1000s. .IP "\fBmaximal_backoff_time (4000s)\fR" The maximal time between attempts to deliver a deferred message. .IP "\fBmaximal_queue_lifetime (5d)\fR" The maximal time a message is queued before it is sent back as undeliverable. .IP "\fBqueue_run_delay (300s)\fR" The time between deferred queue scans by the queue manager; prior to Postfix 2.4 the default value was 1000s. .IP "\fBtransport_retry_time (60s)\fR" The time between attempts by the Postfix queue manager to contact a malfunctioning message delivery transport. .PP Available in Postfix version 2.1 and later: .IP "\fBbounce_queue_lifetime (5d)\fR" The maximal time a bounce message is queued before it is considered undeliverable. .PP Available in Postfix version 2.5 and later: .IP "\fBdefault_destination_rate_delay (0s)\fR" The default amount of delay that is inserted between individual deliveries to the same destination; with per-destination recipient limit > 1, a destination is a domain, otherwise it is a recipient. .IP "\fItransport\fB_destination_rate_delay $default_destination_rate_delay Idem, for delivery via the named message \fItransport\fR. .SH "SAFETY CONTROLS" .na .nf .ad .fi .IP "\fBqmgr_daemon_timeout (1000s)\fR" How much time a Postfix queue manager process may take to handle a request before it is terminated by a built-in watchdog timer. .IP "\fBqmgr_ipc_timeout (60s)\fR" The time limit for the queue manager to send or receive information over an internal communication channel. .SH "MISCELLANEOUS CONTROLS" .na .nf .ad .fi .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBdefer_transports (empty)\fR" The names of message delivery transports that should not deliver mail unless someone issues "\fBsendmail -q\fR" or equivalent. .IP "\fBdelay_logging_resolution_limit (2)\fR" The maximal number of digits after the decimal point when logging sub-second delay values. .IP "\fBhelpful_warnings (yes)\fR" Log warnings about problematic configuration settings, and provide helpful suggestions. .IP "\fBprocess_id (read-only)\fR" The process ID of a Postfix command or daemon process. .IP "\fBprocess_name (read-only)\fR" The process name of a Postfix command or daemon process. .IP "\fBqueue_directory (see 'postconf -d' output)\fR" The location of the Postfix top-level queue directory. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .SH "FILES" .na .nf /var/spool/postfix/incoming, incoming queue /var/spool/postfix/active, active queue /var/spool/postfix/deferred, deferred queue /var/spool/postfix/bounce, non-delivery status /var/spool/postfix/defer, non-delivery status /var/spool/postfix/trace, delivery status .SH "SEE ALSO" .na .nf trivial-rewrite(8), address routing bounce(8), delivery status reports postconf(5), configuration parameters master(5), generic daemon options master(8), process manager syslogd(8), system logging .SH "README FILES" .na .nf .ad .fi Use "\fBpostconf readme_directory\fR" or "\fBpostconf html_directory\fR" to locate this information. .na .nf SCHEDULER_README, scheduling algorithm QSHAPE_README, Postfix queue analysis .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA Preemptive scheduler enhancements: Patrik Rak Modra 6 155 00, Prague, Czech Republic 070701000682f1000081a4000000000000000000000001513697a900003df70000010000010031ffffffffffffffff0000002500000000root/usr/local/man/man8/postscreen.8.TH POSTSCREEN 8 .ad .fi .SH NAME postscreen \- Postfix zombie blocker .SH "SYNOPSIS" .na .nf \fBpostscreen\fR [generic Postfix daemon options] .SH DESCRIPTION .ad .fi The Postfix \fBpostscreen\fR(8) server performs triage on multiple inbound SMTP connections at the same time. While a single \fBpostscreen\fR(8) process keeps spambots away from Postfix SMTP server processes, more Postfix SMTP server processes remain available for legitimate clients. This program should not be used on SMTP ports that receive mail from end-user clients (MUAs). In a typical deployment, \fBpostscreen\fR(8) is used on the "port 25" service, while MUA clients submit mail via the \fBsubmission\fR service, or via a "port 25" server that provides no MX service (i.e. a dedicated server that provides \fBsubmission\fR service on port 25). \fBpostscreen\fR(8) maintains a temporary whitelist for clients that have passed a number of tests. When an SMTP client IP address is whitelisted, \fBpostscreen\fR(8) hands off the connection immediately to a Postfix SMTP server process. This minimizes the overhead for legitimate mail. By default, \fBpostscreen\fR(8) logs statistics and hands off every connection to a Postfix SMTP server process, while excluding clients in mynetworks from all tests (primarily, to avoid problems with non-standard SMTP implementations in network appliances). This mode is useful for non-destructive testing. In a typical production setting, \fBpostscreen\fR(8) is configured to reject mail from clients that fail one or more tests. \fBpostscreen\fR(8) logs rejected mail with the client address, helo, sender and recipient information. \fBpostscreen\fR(8) is not an SMTP proxy; this is intentional. The purpose is to keep spambots away from Postfix SMTP server processes, while minimizing overhead for legitimate traffic. .SH "SECURITY" .na .nf .ad .fi The \fBpostscreen\fR(8) server is moderately security-sensitive. It talks to untrusted clients on the network. The process can be run chrooted at fixed low privilege. .SH "STANDARDS" .na .nf RFC 821 (SMTP protocol) RFC 1123 (Host requirements) RFC 1652 (8bit-MIME transport) RFC 1869 (SMTP service extensions) RFC 1870 (Message Size Declaration) RFC 1985 (ETRN command) RFC 2034 (SMTP Enhanced Status Codes) RFC 2821 (SMTP protocol) Not: RFC 2920 (SMTP Pipelining) RFC 3207 (STARTTLS command) RFC 3461 (SMTP DSN Extension) RFC 3463 (Enhanced Status Codes) RFC 5321 (SMTP protocol, including multi-line 220 banners) .SH DIAGNOSTICS .ad .fi Problems and transactions are logged to \fBsyslogd\fR(8). .SH BUGS .ad .fi The \fBpostscreen\fR(8) built-in SMTP protocol engine currently does not announce support for AUTH, XCLIENT or XFORWARD. Support for AUTH may be added in the future. In the mean time, if you need to make these services available on port 25, then do not enable the optional "after 220 server greeting" tests, and do not use DNSBLs that reject traffic from dial-up and residential networks. The optional "after 220 server greeting" tests involve \fBpostscreen\fR(8)'s built-in SMTP protocol engine. When these tests succeed, \fBpostscreen\fR(8) adds the client to the temporary whitelist but it cannot not hand off the "live" connection to a Postfix SMTP server process in the middle of a session. Instead, \fBpostscreen\fR(8) defers attempts to deliver mail with a 4XX status, and waits for the client to disconnect. The next time a good client connects, it will be allowed to talk to a Postfix SMTP server process to deliver mail. \fBpostscreen\fR(8) mitigates the impact of this limitation by giving such tests a long expiration time. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi Changes to main.cf are not picked up automatically, as \fBpostscreen\fR(8) processes may run for several hours. Use the command "postfix reload" after a configuration change. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. NOTE: Some \fBpostscreen\fR(8) parameters implement stress-dependent behavior. This is supported only when the default parameter value is stress-dependent (that is, it looks like ${stress?X}${stress:Y}, or it is the $\fIname\fR of an smtpd parameter with a stress-dependent default). Other parameters always evaluate as if the \fBstress\fR parameter value is the empty string. .SH "COMPATIBILITY CONTROLS" .na .nf .ad .fi .IP "\fBpostscreen_command_filter ($smtpd_command_filter)\fR" A mechanism to transform commands from remote SMTP clients. .IP "\fBpostscreen_discard_ehlo_keyword_address_maps ($smtpd_discard_ehlo_keyword_address_maps)\fR" Lookup tables, indexed by the remote SMTP client address, with case insensitive lists of EHLO keywords (pipelining, starttls, auth, etc.) that the \fBpostscreen\fR(8) server will not send in the EHLO response to a remote SMTP client. .IP "\fBpostscreen_discard_ehlo_keywords ($smtpd_discard_ehlo_keywords)\fR" A case insensitive list of EHLO keywords (pipelining, starttls, auth, etc.) that the \fBpostscreen\fR(8) server will not send in the EHLO response to a remote SMTP client. .SH "TROUBLE SHOOTING CONTROLS" .na .nf .ad .fi .IP "\fBpostscreen_expansion_filter (see 'postconf -d' output)\fR" List of characters that are permitted in postscreen_reject_footer attribute expansions. .IP "\fBpostscreen_reject_footer ($smtpd_reject_footer)\fR" Optional information that is appended after a 4XX or 5XX \fBpostscreen\fR(8) server response. .IP "\fBsoft_bounce (no)\fR" Safety net to keep mail queued that would otherwise be returned to the sender. .SH "PERMANENT WHITE/BLACKLIST TEST" .na .nf .ad .fi This test is executed immediately after a remote SMTP client connects. If a client is permanently whitelisted, the client will be handed off immediately to a Postfix SMTP server process. .IP "\fBpostscreen_access_list (permit_mynetworks)\fR" Permanent white/blacklist for remote SMTP client IP addresses. .IP "\fBpostscreen_blacklist_action (ignore)\fR" The action that \fBpostscreen\fR(8) takes when a remote SMTP client is permanently blacklisted with the postscreen_access_list parameter. .SH "MAIL EXCHANGER POLICY TESTS" .na .nf .ad .fi When a remote SMTP client is not on the permanent access list, \fBpostscreen\fR(8) can implement a number of whitelist tests before it grants the client a temporary whitelist status to talk to a Postfix SMTP server process. By listening on both primary and backup MX addresses, \fBpostscreen\fR(8) can deny the temporary whitelist status to clients that connect only to backup MX hosts. .IP "\fBpostscreen_whitelist_interfaces (static:all)\fR" A list of local \fBpostscreen\fR(8) server IP addresses where a non-whitelisted remote SMTP client can obtain \fBpostscreen\fR(8)'s temporary whitelist status. .SH "BEFORE-GREETING TESTS" .na .nf .ad .fi These tests are executed before the remote SMTP client receives the "220 servername" greeting. If no tests remain after the successful completion of this phase, the client will be handed off immediately to a Postfix SMTP server process. .IP "\fBdnsblog_service_name (dnsblog)\fR" The name of the \fBdnsblog\fR(8) service entry in master.cf. .IP "\fBpostscreen_dnsbl_action (ignore)\fR" The action that \fBpostscreen\fR(8) takes when a remote SMTP client's combined DNSBL score is equal to or greater than a threshold (as defined with the postscreen_dnsbl_sites and postscreen_dnsbl_threshold parameters). .IP "\fBpostscreen_dnsbl_reply_map (empty)\fR" A mapping from actual DNSBL domain name which includes a secret password, to the DNSBL domain name that postscreen will reply with when it rejects mail. .IP "\fBpostscreen_dnsbl_sites (empty)\fR" Optional list of DNS white/blacklist domains, filters and weight factors. .IP "\fBpostscreen_dnsbl_threshold (1)\fR" The inclusive lower bound for blocking a remote SMTP client, based on its combined DNSBL score as defined with the postscreen_dnsbl_sites parameter. .IP "\fBpostscreen_greet_action (ignore)\fR" The action that \fBpostscreen\fR(8) takes when a remote SMTP client speaks before its turn within the time specified with the postscreen_greet_wait parameter. .IP "\fBpostscreen_greet_banner ($smtpd_banner)\fR" The \fItext\fR in the optional "220-\fItext\fR..." server response that \fBpostscreen\fR(8) sends ahead of the real Postfix SMTP server's "220 text..." response, in an attempt to confuse bad SMTP clients so that they speak before their turn (pre-greet). .IP "\fBpostscreen_greet_wait (${stress?2}${stress:6}s)\fR" The amount of time that \fBpostscreen\fR(8) will wait for an SMTP client to send a command before its turn, and for DNS blocklist lookup results to arrive (default: up to 2 seconds under stress, up to 6 seconds otherwise). .IP "\fBsmtpd_service_name (smtpd)\fR" The internal service that \fBpostscreen\fR(8) hands off allowed connections to. .SH "AFTER-GREETING TESTS" .na .nf .ad .fi These tests are executed after the remote SMTP client receives the "220 servername" greeting. If a client passes all tests during this phase, it will receive a 4XX response to RCPT TO commands until the client hangs up. After this, the client will be allowed to talk directly to a Postfix SMTP server process. .IP "\fBpostscreen_bare_newline_action (ignore)\fR" The action that \fBpostscreen\fR(8) takes when a remote SMTP client sends a bare newline character, that is, a newline not preceded by carriage return. .IP "\fBpostscreen_bare_newline_enable (no)\fR" Enable "bare newline" SMTP protocol tests in the \fBpostscreen\fR(8) server. .IP "\fBpostscreen_disable_vrfy_command ($disable_vrfy_command)\fR" Disable the SMTP VRFY command in the \fBpostscreen\fR(8) daemon. .IP "\fBpostscreen_forbidden_commands ($smtpd_forbidden_commands)\fR" List of commands that the \fBpostscreen\fR(8) server considers in violation of the SMTP protocol. .IP "\fBpostscreen_helo_required ($smtpd_helo_required)\fR" Require that a remote SMTP client sends HELO or EHLO before commencing a MAIL transaction. .IP "\fBpostscreen_non_smtp_command_action (drop)\fR" The action that \fBpostscreen\fR(8) takes when a remote SMTP client sends non-SMTP commands as specified with the postscreen_forbidden_commands parameter. .IP "\fBpostscreen_non_smtp_command_enable (no)\fR" Enable "non-SMTP command" tests in the \fBpostscreen\fR(8) server. .IP "\fBpostscreen_pipelining_action (enforce)\fR" The action that \fBpostscreen\fR(8) takes when a remote SMTP client sends multiple commands instead of sending one command and waiting for the server to respond. .IP "\fBpostscreen_pipelining_enable (no)\fR" Enable "pipelining" SMTP protocol tests in the \fBpostscreen\fR(8) server. .SH "CACHE CONTROLS" .na .nf .ad .fi .IP "\fBpostscreen_cache_cleanup_interval (12h)\fR" The amount of time between \fBpostscreen\fR(8) cache cleanup runs. .IP "\fBpostscreen_cache_map (btree:$data_directory/postscreen_cache)\fR" Persistent storage for the \fBpostscreen\fR(8) server decisions. .IP "\fBpostscreen_cache_retention_time (7d)\fR" The amount of time that \fBpostscreen\fR(8) will cache an expired temporary whitelist entry before it is removed. .IP "\fBpostscreen_bare_newline_ttl (30d)\fR" The amount of time that \fBpostscreen\fR(8) will use the result from a successful "bare newline" SMTP protocol test. .IP "\fBpostscreen_dnsbl_ttl (1h)\fR" The amount of time that \fBpostscreen\fR(8) will use the result from a successful DNS blocklist test. .IP "\fBpostscreen_greet_ttl (1d)\fR" The amount of time that \fBpostscreen\fR(8) will use the result from a successful PREGREET test. .IP "\fBpostscreen_non_smtp_command_ttl (30d)\fR" The amount of time that \fBpostscreen\fR(8) will use the result from a successful "non_smtp_command" SMTP protocol test. .IP "\fBpostscreen_pipelining_ttl (30d)\fR" The amount of time that \fBpostscreen\fR(8) will use the result from a successful "pipelining" SMTP protocol test. .SH "RESOURCE CONTROLS" .na .nf .ad .fi .IP "\fBline_length_limit (2048)\fR" Upon input, long lines are chopped up into pieces of at most this length; upon delivery, long lines are reconstructed. .IP "\fBpostscreen_client_connection_count_limit ($smtpd_client_connection_count_limit)\fR" How many simultaneous connections any remote SMTP client is allowed to have with the \fBpostscreen\fR(8) daemon. .IP "\fBpostscreen_command_count_limit (20)\fR" The limit on the total number of commands per SMTP session for \fBpostscreen\fR(8)'s built-in SMTP protocol engine. .IP "\fBpostscreen_command_time_limit (${stress?10}${stress:300}s)\fR" The time limit to read an entire command line with \fBpostscreen\fR(8)'s built-in SMTP protocol engine. .IP "\fBpostscreen_post_queue_limit ($default_process_limit)\fR" The number of clients that can be waiting for service from a real Postfix SMTP server process. .IP "\fBpostscreen_pre_queue_limit ($default_process_limit)\fR" The number of non-whitelisted clients that can be waiting for a decision whether they will receive service from a real Postfix SMTP server process. .IP "\fBpostscreen_watchdog_timeout (10s)\fR" How much time a \fBpostscreen\fR(8) process may take to respond to a remote SMTP client command or to perform a cache operation before it is terminated by a built-in watchdog timer. .SH "STARTTLS CONTROLS" .na .nf .ad .fi .IP "\fBpostscreen_tls_security_level ($smtpd_tls_security_level)\fR" The SMTP TLS security level for the \fBpostscreen\fR(8) server; when a non-empty value is specified, this overrides the obsolete parameters postscreen_use_tls and postscreen_enforce_tls. .IP "\fBtlsproxy_service_name (tlsproxy)\fR" The name of the \fBtlsproxy\fR(8) service entry in master.cf. .SH "OBSOLETE STARTTLS SUPPORT CONTROLS" .na .nf .ad .fi These parameters are supported for compatibility with \fBsmtpd\fR(8) legacy parameters. .IP "\fBpostscreen_use_tls ($smtpd_use_tls)\fR" Opportunistic TLS: announce STARTTLS support to remote SMTP clients, but do not require that clients use TLS encryption. .IP "\fBpostscreen_enforce_tls ($smtpd_enforce_tls)\fR" Mandatory TLS: announce STARTTLS support to remote SMTP clients, and require that clients use TLS encryption. .SH "MISCELLANEOUS CONTROLS" .na .nf .ad .fi .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBdelay_logging_resolution_limit (2)\fR" The maximal number of digits after the decimal point when logging sub-second delay values. .IP "\fBcommand_directory (see 'postconf -d' output)\fR" The location of all postfix administrative commands. .IP "\fBmax_idle (100s)\fR" The maximum amount of time that an idle Postfix daemon process waits for an incoming connection before terminating voluntarily. .IP "\fBprocess_id (read-only)\fR" The process ID of a Postfix command or daemon process. .IP "\fBprocess_name (read-only)\fR" The process name of a Postfix command or daemon process. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .SH "SEE ALSO" .na .nf smtpd(8), Postfix SMTP server tlsproxy(8), Postfix TLS proxy server dnsblog(8), DNS black/whitelist logger syslogd(8), system logging .SH "README FILES" .na .nf .ad .fi Use "\fBpostconf readme_directory\fR" or "\fBpostconf html_directory\fR" to locate this information. .nf .na POSTSCREEN_README, Postfix Postscreen Howto .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "HISTORY" .na .nf .ad .fi This service was introduced with Postfix version 2.8. Many ideas in \fBpostscreen\fR(8) were explored in earlier work by Michael Tokarev, in OpenBSD spamd, and in MailChannels Traffic Control. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682f2000081a4000000000000000000000001513697a900001fde0000010000010031ffffffffffffffff0000002300000000root/usr/local/man/man8/proxymap.8.TH PROXYMAP 8 .ad .fi .SH NAME proxymap \- Postfix lookup table proxy server .SH "SYNOPSIS" .na .nf \fBproxymap\fR [generic Postfix daemon options] .SH DESCRIPTION .ad .fi The \fBproxymap\fR(8) server provides read-only or read-write table lookup service to Postfix processes. These services are implemented with distinct service names: \fBproxymap\fR and \fBproxywrite\fR, respectively. The purpose of these services is: .IP \(bu To overcome chroot restrictions. For example, a chrooted SMTP server needs access to the system passwd file in order to reject mail for non-existent local addresses, but it is not practical to maintain a copy of the passwd file in the chroot jail. The solution: .sp .nf local_recipient_maps = proxy:unix:passwd.byname $alias_maps .fi .IP \(bu To consolidate the number of open lookup tables by sharing one open table among multiple processes. For example, making mysql connections from every Postfix daemon process results in "too many connections" errors. The solution: .sp .nf virtual_alias_maps = proxy:mysql:/etc/postfix/virtual_alias.cf .fi .sp The total number of connections is limited by the number of proxymap server processes. .IP \(bu To provide single-updater functionality for lookup tables that do not reliably support multiple writers (i.e. all file-based tables). .PP The \fBproxymap\fR(8) server implements the following requests: .IP "\fBopen\fR \fImaptype:mapname flags\fR" Open the table with type \fImaptype\fR and name \fImapname\fR, as controlled by \fIflags\fR. The reply includes the \fImaptype\fR dependent flags (to distinguish a fixed string table from a regular expression table). .IP "\fBlookup\fR \fImaptype:mapname flags key\fR" Look up the data stored under the requested key. The reply is the request completion status code and the lookup result value. The \fImaptype:mapname\fR and \fIflags\fR are the same as with the \fBopen\fR request. .IP "\fBupdate\fR \fImaptype:mapname flags key value\fR" Update the data stored under the requested key. The reply is the request completion status code. The \fImaptype:mapname\fR and \fIflags\fR are the same as with the \fBopen\fR request. .sp To implement single-updater maps, specify a process limit of 1 in the master.cf file entry for the \fBproxywrite\fR service. .sp This request is supported in Postfix 2.5 and later. .IP "\fBdelete\fR \fImaptype:mapname flags key\fR" Delete the data stored under the requested key. The reply is the request completion status code. The \fImaptype:mapname\fR and \fIflags\fR are the same as with the \fBopen\fR request. .sp This request is supported in Postfix 2.5 and later. .IP "\fBsequence\fR \fImaptype:mapname flags function\fR" Iterate over the specified database. The \fIfunction\fR is one of DICT_SEQ_FUN_FIRST or DICT_SEQ_FUN_NEXT. The reply is the request completion status code and a lookup key and result value, if found. .sp This request is supported in Postfix 2.9 and later. .PP The request completion status is one of OK, RETRY, NOKEY (lookup failed because the key was not found), BAD (malformed request) or DENY (the table is not approved for proxy read or update access). There is no \fBclose\fR command, nor are tables implicitly closed when a client disconnects. The purpose is to share tables among multiple client processes. .SH "SERVER PROCESS MANAGEMENT" .na .nf .ad .fi \fBproxymap\fR(8) servers run under control by the Postfix \fBmaster\fR(8) server. Each server can handle multiple simultaneous connections. When all servers are busy while a client connects, the \fBmaster\fR(8) creates a new \fBproxymap\fR(8) server process, provided that the process limit is not exceeded. Each server terminates after serving at least \fB$max_use\fR clients or after \fB$max_idle\fR seconds of idle time. .SH "SECURITY" .na .nf .ad .fi The \fBproxymap\fR(8) server opens only tables that are approved via the \fBproxy_read_maps\fR or \fBproxy_write_maps\fR configuration parameters, does not talk to users, and can run at fixed low privilege, chrooted or not. However, running the proxymap server chrooted severely limits usability, because it can open only chrooted tables. The \fBproxymap\fR(8) server is not a trusted daemon process, and must not be used to look up sensitive information such as user or group IDs, mailbox file/directory names or external commands. In Postfix version 2.2 and later, the proxymap client recognizes requests to access a table for security-sensitive purposes, and opens the table directly. This allows the same main.cf setting to be used by sensitive and non-sensitive processes. Postfix-writable data files should be stored under a dedicated directory that is writable only by the Postfix mail system, such as the Postfix-owned \fBdata_directory\fR. In particular, Postfix-writable files should never exist in root-owned directories. That would open up a particular type of security hole where ownership of a file or directory does not match the provider of its content. .SH DIAGNOSTICS .ad .fi Problems and transactions are logged to \fBsyslogd\fR(8). .SH BUGS .ad .fi The \fBproxymap\fR(8) server provides service to multiple clients, and must therefore not be used for tables that have high-latency lookups. The \fBproxymap\fR(8) read-write service does not explicitly close lookup tables (even if it did, this could not be relied on, because the process may be terminated between table updates). The read-write service should therefore not be used with tables that leave persistent storage in an inconsistent state between updates (for example, CDB). Tables that support "sync on update" should be safe (for example, Berkeley DB) as should tables that are implemented by a real DBMS. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi On busy mail systems a long time may pass before \fBproxymap\fR(8) relevant changes to \fBmain.cf\fR are picked up. Use the command "\fBpostfix reload\fR" to speed up a change. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBdata_directory (see 'postconf -d' output)\fR" The directory with Postfix-writable data files (for example: caches, pseudo-random numbers). .IP "\fBdaemon_timeout (18000s)\fR" How much time a Postfix daemon process may take to handle a request before it is terminated by a built-in watchdog timer. .IP "\fBipc_timeout (3600s)\fR" The time limit for sending or receiving information over an internal communication channel. .IP "\fBmax_idle (100s)\fR" The maximum amount of time that an idle Postfix daemon process waits for an incoming connection before terminating voluntarily. .IP "\fBmax_use (100)\fR" The maximal number of incoming connections that a Postfix daemon process will service before terminating voluntarily. .IP "\fBprocess_id (read-only)\fR" The process ID of a Postfix command or daemon process. .IP "\fBprocess_name (read-only)\fR" The process name of a Postfix command or daemon process. .IP "\fBproxy_read_maps (see 'postconf -d' output)\fR" The lookup tables that the \fBproxymap\fR(8) server is allowed to access for the read-only service. .PP Available in Postfix 2.5 and later: .IP "\fBdata_directory (see 'postconf -d' output)\fR" The directory with Postfix-writable data files (for example: caches, pseudo-random numbers). .IP "\fBproxy_write_maps (see 'postconf -d' output)\fR" The lookup tables that the \fBproxymap\fR(8) server is allowed to access for the read-write service. .SH "SEE ALSO" .na .nf postconf(5), configuration parameters master(5), generic daemon options .SH "README FILES" .na .nf .ad .fi Use "\fBpostconf readme_directory\fR" or "\fBpostconf html_directory\fR" to locate this information. .na .nf DATABASE_README, Postfix lookup table overview .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "HISTORY" .na .nf .ad .fi The proxymap service was introduced with Postfix 2.0. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682eb000081a4000000000000000000000001513697a9000000100000010000010031ffffffffffffffff0000001f00000000root/usr/local/man/man8/lmtp.8.so man8/smtp.8 070701000682e8000081a4000000000000000000000001513697a900000adc0000010000010031ffffffffffffffff0000002200000000root/usr/local/man/man8/dnsblog.8.TH DNSBLOG 8 .ad .fi .SH NAME dnsblog \- Postfix DNS white/blacklist logger .SH "SYNOPSIS" .na .nf \fBdnsblog\fR [generic Postfix daemon options] .SH DESCRIPTION .ad .fi The \fBdnsblog\fR(8) server implements an ad-hoc DNS white/blacklist lookup service. This may eventually be replaced by an UDP client that is built directly into the \fBpostscreen\fR(8) server. .SH "PROTOCOL" .na .nf .ad .fi With each connection, the \fBdnsblog\fR(8) server receives a DNS white/blacklist domain name, IP address, and an ID. If the address is listed under the DNS white/blacklist, the \fBdnsblog\fR(8) server logs the match and replies with the query arguments plus an address list with the resulting IP addresses separated by whitespace. Otherwise it replies with the query arguments plus an empty address list. Finally, The \fBdnsblog\fR(8) server closes the connection. .SH DIAGNOSTICS .ad .fi Problems and transactions are logged to \fBsyslogd\fR(8). .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi Changes to \fBmain.cf\fR are picked up automatically, as \fBdnsblog\fR(8) processes run for only a limited amount of time. Use the command "\fBpostfix reload\fR" to speed up a change. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBdaemon_timeout (18000s)\fR" How much time a Postfix daemon process may take to handle a request before it is terminated by a built-in watchdog timer. .IP "\fBpostscreen_dnsbl_sites (empty)\fR" Optional list of DNS white/blacklist domains, filters and weight factors. .IP "\fBipc_timeout (3600s)\fR" The time limit for sending or receiving information over an internal communication channel. .IP "\fBprocess_id (read-only)\fR" The process ID of a Postfix command or daemon process. .IP "\fBprocess_name (read-only)\fR" The process name of a Postfix command or daemon process. .IP "\fBqueue_directory (see 'postconf -d' output)\fR" The location of the Postfix top-level queue directory. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .SH "SEE ALSO" .na .nf smtpd(8), Postfix SMTP server postconf(5), configuration parameters syslogd(5), system logging .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "HISTORY" .na .nf .ad .fi This service was introduced with Postfix version 2.8. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682e5000081a4000000000000000000000001513697a90000413a0000010000010031ffffffffffffffff0000002200000000root/usr/local/man/man8/cleanup.8.TH CLEANUP 8 .ad .fi .SH NAME cleanup \- canonicalize and enqueue Postfix message .SH "SYNOPSIS" .na .nf \fBcleanup\fR [generic Postfix daemon options] .SH DESCRIPTION .ad .fi The \fBcleanup\fR(8) daemon processes inbound mail, inserts it into the \fBincoming\fR mail queue, and informs the queue manager of its arrival. The \fBcleanup\fR(8) daemon always performs the following transformations: .IP \(bu Insert missing message headers: (\fBResent-\fR) \fBFrom:\fR, \fBTo:\fR, \fBMessage-Id:\fR, and \fBDate:\fR. .IP \(bu Transform envelope and header addresses to the standard \fIuser@fully-qualified-domain\fR form that is expected by other Postfix programs. This task is delegated to the \fBtrivial-rewrite\fR(8) daemon. .IP \(bu Eliminate duplicate envelope recipient addresses. .PP The following address transformations are optional: .IP \(bu Optionally, rewrite all envelope and header addresses according to the mappings specified in the \fBcanonical\fR(5) lookup tables. .IP \(bu Optionally, masquerade envelope sender addresses and message header addresses (i.e. strip host or domain information below all domains listed in the \fBmasquerade_domains\fR parameter, except for user names listed in \fBmasquerade_exceptions\fR). By default, address masquerading does not affect envelope recipients. .IP \(bu Optionally, expand envelope recipients according to information found in the \fBvirtual\fR(5) lookup tables. .PP The \fBcleanup\fR(8) daemon performs sanity checks on the content of each message. When it finds a problem, by default it returns a diagnostic status to the client, and leaves it up to the client to deal with the problem. Alternatively, the client can request the \fBcleanup\fR(8) daemon to bounce the message back to the sender in case of trouble. .SH "STANDARDS" .na .nf RFC 822 (ARPA Internet Text Messages) RFC 2045 (MIME: Format of Internet Message Bodies) RFC 2046 (MIME: Media Types) RFC 2822 (Internet Message Format) RFC 3463 (Enhanced Status Codes) RFC 3464 (Delivery status notifications) RFC 5322 (Internet Message Format) .SH DIAGNOSTICS .ad .fi Problems and transactions are logged to \fBsyslogd\fR(8). .SH BUGS .ad .fi Table-driven rewriting rules make it hard to express \fBif then else\fR and other logical relationships. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi Changes to \fBmain.cf\fR are picked up automatically, as \fBcleanup\fR(8) processes run for only a limited amount of time. Use the command "\fBpostfix reload\fR" to speed up a change. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. .SH "COMPATIBILITY CONTROLS" .na .nf .ad .fi .IP "\fBundisclosed_recipients_header (see 'postconf -d' output)\fR" Message header that the Postfix \fBcleanup\fR(8) server inserts when a message contains no To: or Cc: message header. .PP Available in Postfix version 2.1 only: .IP "\fBenable_errors_to (no)\fR" Report mail delivery errors to the address specified with the non-standard Errors-To: message header, instead of the envelope sender address (this feature is removed with Postfix version 2.2, is turned off by default with Postfix version 2.1, and is always turned on with older Postfix versions). .PP Available in Postfix version 2.6 and later: .IP "\fBalways_add_missing_headers (no)\fR" Always add (Resent-) From:, To:, Date: or Message-ID: headers when not present. .PP Available in Postfix version 2.9 and later: .IP "\fBenable_long_queue_ids (no)\fR" Enable long, non-repeating, queue IDs (queue file names). .SH "BUILT-IN CONTENT FILTERING CONTROLS" .na .nf .ad .fi Postfix built-in content filtering is meant to stop a flood of worms or viruses. It is not a general content filter. .IP "\fBbody_checks (empty)\fR" Optional lookup tables for content inspection as specified in the \fBbody_checks\fR(5) manual page. .IP "\fBheader_checks (empty)\fR" Optional lookup tables for content inspection of primary non-MIME message headers, as specified in the \fBheader_checks\fR(5) manual page. .PP Available in Postfix version 2.0 and later: .IP "\fBbody_checks_size_limit (51200)\fR" How much text in a message body segment (or attachment, if you prefer to use that term) is subjected to body_checks inspection. .IP "\fBmime_header_checks ($header_checks)\fR" Optional lookup tables for content inspection of MIME related message headers, as described in the \fBheader_checks\fR(5) manual page. .IP "\fBnested_header_checks ($header_checks)\fR" Optional lookup tables for content inspection of non-MIME message headers in attached messages, as described in the \fBheader_checks\fR(5) manual page. .PP Available in Postfix version 2.3 and later: .IP "\fBmessage_reject_characters (empty)\fR" The set of characters that Postfix will reject in message content. .IP "\fBmessage_strip_characters (empty)\fR" The set of characters that Postfix will remove from message content. .SH "BEFORE QUEUE MILTER CONTROLS" .na .nf .ad .fi As of version 2.3, Postfix supports the Sendmail version 8 Milter (mail filter) protocol. When mail is not received via the smtpd(8) server, the cleanup(8) server will simulate SMTP events to the extent that this is possible. For details see the MILTER_README document. .IP "\fBnon_smtpd_milters (empty)\fR" A list of Milter (mail filter) applications for new mail that does not arrive via the Postfix \fBsmtpd\fR(8) server. .IP "\fBmilter_protocol (6)\fR" The mail filter protocol version and optional protocol extensions for communication with a Milter application; prior to Postfix 2.6 the default protocol is 2. .IP "\fBmilter_default_action (tempfail)\fR" The default action when a Milter (mail filter) application is unavailable or mis-configured. .IP "\fBmilter_macro_daemon_name ($myhostname)\fR" The {daemon_name} macro value for Milter (mail filter) applications. .IP "\fBmilter_macro_v ($mail_name $mail_version)\fR" The {v} macro value for Milter (mail filter) applications. .IP "\fBmilter_connect_timeout (30s)\fR" The time limit for connecting to a Milter (mail filter) application, and for negotiating protocol options. .IP "\fBmilter_command_timeout (30s)\fR" The time limit for sending an SMTP command to a Milter (mail filter) application, and for receiving the response. .IP "\fBmilter_content_timeout (300s)\fR" The time limit for sending message content to a Milter (mail filter) application, and for receiving the response. .IP "\fBmilter_connect_macros (see 'postconf -d' output)\fR" The macros that are sent to Milter (mail filter) applications after completion of an SMTP connection. .IP "\fBmilter_helo_macros (see 'postconf -d' output)\fR" The macros that are sent to Milter (mail filter) applications after the SMTP HELO or EHLO command. .IP "\fBmilter_mail_macros (see 'postconf -d' output)\fR" The macros that are sent to Milter (mail filter) applications after the SMTP MAIL FROM command. .IP "\fBmilter_rcpt_macros (see 'postconf -d' output)\fR" The macros that are sent to Milter (mail filter) applications after the SMTP RCPT TO command. .IP "\fBmilter_data_macros (see 'postconf -d' output)\fR" The macros that are sent to version 4 or higher Milter (mail filter) applications after the SMTP DATA command. .IP "\fBmilter_unknown_command_macros (see 'postconf -d' output)\fR" The macros that are sent to version 3 or higher Milter (mail filter) applications after an unknown SMTP command. .IP "\fBmilter_end_of_data_macros (see 'postconf -d' output)\fR" The macros that are sent to Milter (mail filter) applications after the message end-of-data. .PP Available in Postfix version 2.5 and later: .IP "\fBmilter_end_of_header_macros (see 'postconf -d' output)\fR" The macros that are sent to Milter (mail filter) applications after the end of the message header. .PP Available in Postfix version 2.7 and later: .IP "\fBmilter_header_checks (empty)\fR" Optional lookup tables for content inspection of message headers that are produced by Milter applications. .SH "MIME PROCESSING CONTROLS" .na .nf .ad .fi Available in Postfix version 2.0 and later: .IP "\fBdisable_mime_input_processing (no)\fR" Turn off MIME processing while receiving mail. .IP "\fBmime_boundary_length_limit (2048)\fR" The maximal length of MIME multipart boundary strings. .IP "\fBmime_nesting_limit (100)\fR" The maximal recursion level that the MIME processor will handle. .IP "\fBstrict_8bitmime (no)\fR" Enable both strict_7bit_headers and strict_8bitmime_body. .IP "\fBstrict_7bit_headers (no)\fR" Reject mail with 8-bit text in message headers. .IP "\fBstrict_8bitmime_body (no)\fR" Reject 8-bit message body text without 8-bit MIME content encoding information. .IP "\fBstrict_mime_encoding_domain (no)\fR" Reject mail with invalid Content-Transfer-Encoding: information for the message/* or multipart/* MIME content types. .PP Available in Postfix version 2.5 and later: .IP "\fBdetect_8bit_encoding_header (yes)\fR" Automatically detect 8BITMIME body content by looking at Content-Transfer-Encoding: message headers; historically, this behavior was hard-coded to be "always on". .SH "AUTOMATIC BCC RECIPIENT CONTROLS" .na .nf .ad .fi Postfix can automatically add BCC (blind carbon copy) when mail enters the mail system: .IP "\fBalways_bcc (empty)\fR" Optional address that receives a "blind carbon copy" of each message that is received by the Postfix mail system. .PP Available in Postfix version 2.1 and later: .IP "\fBsender_bcc_maps (empty)\fR" Optional BCC (blind carbon-copy) address lookup tables, indexed by sender address. .IP "\fBrecipient_bcc_maps (empty)\fR" Optional BCC (blind carbon-copy) address lookup tables, indexed by recipient address. .SH "ADDRESS TRANSFORMATION CONTROLS" .na .nf .ad .fi Address rewriting is delegated to the \fBtrivial-rewrite\fR(8) daemon. The \fBcleanup\fR(8) server implements table driven address mapping. .IP "\fBempty_address_recipient (MAILER-DAEMON)\fR" The recipient of mail addressed to the null address. .IP "\fBcanonical_maps (empty)\fR" Optional address mapping lookup tables for message headers and envelopes. .IP "\fBrecipient_canonical_maps (empty)\fR" Optional address mapping lookup tables for envelope and header recipient addresses. .IP "\fBsender_canonical_maps (empty)\fR" Optional address mapping lookup tables for envelope and header sender addresses. .IP "\fBmasquerade_classes (envelope_sender, header_sender, header_recipient)\fR" What addresses are subject to address masquerading. .IP "\fBmasquerade_domains (empty)\fR" Optional list of domains whose subdomain structure will be stripped off in email addresses. .IP "\fBmasquerade_exceptions (empty)\fR" Optional list of user names that are not subjected to address masquerading, even when their address matches $masquerade_domains. .IP "\fBpropagate_unmatched_extensions (canonical, virtual)\fR" What address lookup tables copy an address extension from the lookup key to the lookup result. .PP Available before Postfix version 2.0: .IP "\fBvirtual_maps (empty)\fR" Optional lookup tables with a) names of domains for which all addresses are aliased to addresses in other local or remote domains, and b) addresses that are aliased to addresses in other local or remote domains. .PP Available in Postfix version 2.0 and later: .IP "\fBvirtual_alias_maps ($virtual_maps)\fR" Optional lookup tables that alias specific mail addresses or domains to other local or remote address. .PP Available in Postfix version 2.2 and later: .IP "\fBcanonical_classes (envelope_sender, envelope_recipient, header_sender, header_recipient)\fR" What addresses are subject to canonical_maps address mapping. .IP "\fBrecipient_canonical_classes (envelope_recipient, header_recipient)\fR" What addresses are subject to recipient_canonical_maps address mapping. .IP "\fBsender_canonical_classes (envelope_sender, header_sender)\fR" What addresses are subject to sender_canonical_maps address mapping. .IP "\fBremote_header_rewrite_domain (empty)\fR" Don't rewrite message headers from remote clients at all when this parameter is empty; otherwise, rewrite message headers and append the specified domain name to incomplete addresses. .SH "RESOURCE AND RATE CONTROLS" .na .nf .ad .fi .IP "\fBduplicate_filter_limit (1000)\fR" The maximal number of addresses remembered by the address duplicate filter for \fBaliases\fR(5) or \fBvirtual\fR(5) alias expansion, or for \fBshowq\fR(8) queue displays. .IP "\fBheader_size_limit (102400)\fR" The maximal amount of memory in bytes for storing a message header. .IP "\fBhopcount_limit (50)\fR" The maximal number of Received: message headers that is allowed in the primary message headers. .IP "\fBin_flow_delay (1s)\fR" Time to pause before accepting a new message, when the message arrival rate exceeds the message delivery rate. .IP "\fBmessage_size_limit (10240000)\fR" The maximal size in bytes of a message, including envelope information. .PP Available in Postfix version 2.0 and later: .IP "\fBheader_address_token_limit (10240)\fR" The maximal number of address tokens are allowed in an address message header. .IP "\fBmime_boundary_length_limit (2048)\fR" The maximal length of MIME multipart boundary strings. .IP "\fBmime_nesting_limit (100)\fR" The maximal recursion level that the MIME processor will handle. .IP "\fBqueue_file_attribute_count_limit (100)\fR" The maximal number of (name=value) attributes that may be stored in a Postfix queue file. .PP Available in Postfix version 2.1 and later: .IP "\fBvirtual_alias_expansion_limit (1000)\fR" The maximal number of addresses that virtual alias expansion produces from each original recipient. .IP "\fBvirtual_alias_recursion_limit (1000)\fR" The maximal nesting depth of virtual alias expansion. .SH "MISCELLANEOUS CONTROLS" .na .nf .ad .fi .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBdaemon_timeout (18000s)\fR" How much time a Postfix daemon process may take to handle a request before it is terminated by a built-in watchdog timer. .IP "\fBdelay_logging_resolution_limit (2)\fR" The maximal number of digits after the decimal point when logging sub-second delay values. .IP "\fBdelay_warning_time (0h)\fR" The time after which the sender receives the message headers of mail that is still queued. .IP "\fBipc_timeout (3600s)\fR" The time limit for sending or receiving information over an internal communication channel. .IP "\fBmax_idle (100s)\fR" The maximum amount of time that an idle Postfix daemon process waits for an incoming connection before terminating voluntarily. .IP "\fBmax_use (100)\fR" The maximal number of incoming connections that a Postfix daemon process will service before terminating voluntarily. .IP "\fBmyhostname (see 'postconf -d' output)\fR" The internet hostname of this mail system. .IP "\fBmyorigin ($myhostname)\fR" The domain name that locally-posted mail appears to come from, and that locally posted mail is delivered to. .IP "\fBprocess_id (read-only)\fR" The process ID of a Postfix command or daemon process. .IP "\fBprocess_name (read-only)\fR" The process name of a Postfix command or daemon process. .IP "\fBqueue_directory (see 'postconf -d' output)\fR" The location of the Postfix top-level queue directory. .IP "\fBsoft_bounce (no)\fR" Safety net to keep mail queued that would otherwise be returned to the sender. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .PP Available in Postfix version 2.1 and later: .IP "\fBenable_original_recipient (yes)\fR" Enable support for the X-Original-To message header. .SH "FILES" .na .nf /etc/postfix/canonical*, canonical mapping table /etc/postfix/virtual*, virtual mapping table .SH "SEE ALSO" .na .nf trivial-rewrite(8), address rewriting qmgr(8), queue manager header_checks(5), message header content inspection body_checks(5), body parts content inspection canonical(5), canonical address lookup table format virtual(5), virtual alias lookup table format postconf(5), configuration parameters master(5), generic daemon options master(8), process manager syslogd(8), system logging .SH "README FILES" .na .nf .ad .fi Use "\fBpostconf readme_directory\fR" or "\fBpostconf html_directory\fR" to locate this information. .na .nf ADDRESS_REWRITING_README Postfix address manipulation CONTENT_INSPECTION_README content inspection .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682ea000081a4000000000000000000000001513697a9000016a80000010000010031ffffffffffffffff0000002000000000root/usr/local/man/man8/flush.8.TH FLUSH 8 .ad .fi .SH NAME flush \- Postfix fast flush server .SH "SYNOPSIS" .na .nf \fBflush\fR [generic Postfix daemon options] .SH DESCRIPTION .ad .fi The \fBflush\fR(8) server maintains a record of deferred mail by destination. This information is used to improve the performance of the SMTP \fBETRN\fR request, and of its command-line equivalent, "\fBsendmail -qR\fR" or "\fBpostqueue -f\fR". This program expects to be run from the \fBmaster\fR(8) process manager. The record is implemented as a per-destination logfile with as contents the queue IDs of deferred mail. A logfile is append-only, and is truncated when delivery is requested for the corresponding destination. A destination is the part on the right-hand side of the right-most \fB@\fR in an email address. Per-destination logfiles of deferred mail are maintained only for eligible destinations. The list of eligible destinations is specified with the \fBfast_flush_domains\fR configuration parameter, which defaults to \fB$relay_domains\fR. This server implements the following requests: .IP "\fBadd\fI sitename queueid\fR" Inform the \fBflush\fR(8) server that the message with the specified queue ID is queued for the specified destination. .IP "\fBsend_site\fI sitename\fR" Request delivery of mail that is queued for the specified destination. .IP "\fBsend_file\fI queueid\fR" Request delivery of the specified deferred message. .IP \fBrefresh\fR Refresh non-empty per-destination logfiles that were not read in \fB$fast_flush_refresh_time\fR hours, by simulating send requests (see above) for the corresponding destinations. .sp Delete empty per-destination logfiles that were not updated in \fB$fast_flush_purge_time\fR days. .sp This request completes in the background. .IP \fBpurge\fR Do a \fBrefresh\fR for all per-destination logfiles. .SH "SECURITY" .na .nf .ad .fi The \fBflush\fR(8) server is not security-sensitive. It does not talk to the network, and it does not talk to local users. The fast flush server can run chrooted at fixed low privilege. .SH DIAGNOSTICS .ad .fi Problems and transactions are logged to \fBsyslogd\fR(8). .SH BUGS .ad .fi Fast flush logfiles are truncated only after a "send" request, not when mail is actually delivered, and therefore can accumulate outdated or redundant data. In order to maintain sanity, "refresh" must be executed periodically. This can be automated with a suitable wakeup timer setting in the \fBmaster.cf\fR configuration file. Upon receipt of a request to deliver mail for an eligible destination, the \fBflush\fR(8) server requests delivery of all messages that are listed in that destination's logfile, regardless of the recipients of those messages. This is not an issue for mail that is sent to a \fBrelay_domains\fR destination because such mail typically only has recipients in one domain. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi Changes to \fBmain.cf\fR are picked up automatically as \fBflush\fR(8) processes run for only a limited amount of time. Use the command "\fBpostfix reload\fR" to speed up a change. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBdaemon_timeout (18000s)\fR" How much time a Postfix daemon process may take to handle a request before it is terminated by a built-in watchdog timer. .IP "\fBfast_flush_domains ($relay_domains)\fR" Optional list of destinations that are eligible for per-destination logfiles with mail that is queued to those destinations. .IP "\fBfast_flush_refresh_time (12h)\fR" The time after which a non-empty but unread per-destination "fast flush" logfile needs to be refreshed. .IP "\fBfast_flush_purge_time (7d)\fR" The time after which an empty per-destination "fast flush" logfile is deleted. .IP "\fBipc_timeout (3600s)\fR" The time limit for sending or receiving information over an internal communication channel. .IP "\fBmax_idle (100s)\fR" The maximum amount of time that an idle Postfix daemon process waits for an incoming connection before terminating voluntarily. .IP "\fBmax_use (100)\fR" The maximal number of incoming connections that a Postfix daemon process will service before terminating voluntarily. .IP "\fBparent_domain_matches_subdomains (see 'postconf -d' output)\fR" What Postfix features match subdomains of "domain.tld" automatically, instead of requiring an explicit ".domain.tld" pattern. .IP "\fBprocess_id (read-only)\fR" The process ID of a Postfix command or daemon process. .IP "\fBprocess_name (read-only)\fR" The process name of a Postfix command or daemon process. .IP "\fBqueue_directory (see 'postconf -d' output)\fR" The location of the Postfix top-level queue directory. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .SH "FILES" .na .nf /var/spool/postfix/flush, "fast flush" logfiles. .SH "SEE ALSO" .na .nf smtpd(8), SMTP server qmgr(8), queue manager postconf(5), configuration parameters master(5), generic daemon options master(8), process manager syslogd(8), system logging .SH "README FILES" .na .nf .ad .fi Use "\fBpostconf readme_directory\fR" or "\fBpostconf html_directory\fR" to locate this information. .na .nf ETRN_README, Postfix ETRN howto .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "HISTORY" .na .nf This service was introduced with Postfix version 1.0. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682e4000081a4000000000000000000000001513697a9000015c60000010000010031ffffffffffffffff0000002100000000root/usr/local/man/man8/bounce.8.TH BOUNCE 8 .ad .fi .SH NAME bounce \- Postfix delivery status reports .SH "SYNOPSIS" .na .nf \fBbounce\fR [generic Postfix daemon options] .SH DESCRIPTION .ad .fi The \fBbounce\fR(8) daemon maintains per-message log files with delivery status information. Each log file is named after the queue file that it corresponds to, and is kept in a queue subdirectory named after the service name in the \fBmaster.cf\fR file (either \fBbounce\fR, \fBdefer\fR or \fBtrace\fR). This program expects to be run from the \fBmaster\fR(8) process manager. The \fBbounce\fR(8) daemon processes two types of service requests: .IP \(bu Append a recipient (non-)delivery status record to a per-message log file. .IP \(bu Enqueue a delivery status notification message, with a copy of a per-message log file and of the corresponding message. When the delivery status notification message is enqueued successfully, the per-message log file is deleted. .PP The software does a best notification effort. A non-delivery notification is sent even when the log file or the original message cannot be read. Optionally, a bounce (defer, trace) client can request that the per-message log file be deleted when the requested operation fails. This is used by clients that cannot retry transactions by themselves, and that depend on retry logic in their own client. .SH "STANDARDS" .na .nf RFC 822 (ARPA Internet Text Messages) RFC 2045 (Format of Internet Message Bodies) RFC 2822 (Internet Message Format) RFC 3462 (Delivery Status Notifications) RFC 3464 (Delivery Status Notifications) RFC 3834 (Auto-Submitted: message header) RFC 5322 (Internet Message Format) .SH DIAGNOSTICS .ad .fi Problems and transactions are logged to \fBsyslogd\fR(8). .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi Changes to \fBmain.cf\fR are picked up automatically, as \fBbounce\fR(8) processes run for only a limited amount of time. Use the command "\fBpostfix reload\fR" to speed up a change. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. .IP "\fB2bounce_notice_recipient (postmaster)\fR" The recipient of undeliverable mail that cannot be returned to the sender. .IP "\fBbackwards_bounce_logfile_compatibility (yes)\fR" Produce additional \fBbounce\fR(8) logfile records that can be read by Postfix versions before 2.0. .IP "\fBbounce_notice_recipient (postmaster)\fR" The recipient of postmaster notifications with the message headers of mail that Postfix did not deliver and of SMTP conversation transcripts of mail that Postfix did not receive. .IP "\fBbounce_size_limit (50000)\fR" The maximal amount of original message text that is sent in a non-delivery notification. .IP "\fBbounce_template_file (empty)\fR" Pathname of a configuration file with bounce message templates. .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBdaemon_timeout (18000s)\fR" How much time a Postfix daemon process may take to handle a request before it is terminated by a built-in watchdog timer. .IP "\fBdelay_notice_recipient (postmaster)\fR" The recipient of postmaster notifications with the message headers of mail that cannot be delivered within $delay_warning_time time units. .IP "\fBdeliver_lock_attempts (20)\fR" The maximal number of attempts to acquire an exclusive lock on a mailbox file or \fBbounce\fR(8) logfile. .IP "\fBdeliver_lock_delay (1s)\fR" The time between attempts to acquire an exclusive lock on a mailbox file or \fBbounce\fR(8) logfile. .IP "\fBipc_timeout (3600s)\fR" The time limit for sending or receiving information over an internal communication channel. .IP "\fBinternal_mail_filter_classes (empty)\fR" What categories of Postfix-generated mail are subject to before-queue content inspection by non_smtpd_milters, header_checks and body_checks. .IP "\fBmail_name (Postfix)\fR" The mail system name that is displayed in Received: headers, in the SMTP greeting banner, and in bounced mail. .IP "\fBmax_idle (100s)\fR" The maximum amount of time that an idle Postfix daemon process waits for an incoming connection before terminating voluntarily. .IP "\fBmax_use (100)\fR" The maximal number of incoming connections that a Postfix daemon process will service before terminating voluntarily. .IP "\fBnotify_classes (resource, software)\fR" The list of error classes that are reported to the postmaster. .IP "\fBprocess_id (read-only)\fR" The process ID of a Postfix command or daemon process. .IP "\fBprocess_name (read-only)\fR" The process name of a Postfix command or daemon process. .IP "\fBqueue_directory (see 'postconf -d' output)\fR" The location of the Postfix top-level queue directory. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .SH "FILES" .na .nf /var/spool/postfix/bounce/* non-delivery records /var/spool/postfix/defer/* non-delivery records /var/spool/postfix/trace/* delivery status records .SH "SEE ALSO" .na .nf bounce(5), bounce message template format qmgr(8), queue manager postconf(5), configuration parameters master(5), generic daemon options master(8), process manager syslogd(8), system logging .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682f5000081a4000000000000000000000001513697a9000014ec0000010000010031ffffffffffffffff0000002100000000root/usr/local/man/man8/scache.8.TH SCACHE 8 .ad .fi .SH NAME scache \- Postfix shared connection cache server .SH "SYNOPSIS" .na .nf \fBscache\fR [generic Postfix daemon options] .SH DESCRIPTION .ad .fi The \fBscache\fR(8) server maintains a shared multi-connection cache. This information can be used by, for example, Postfix SMTP clients or other Postfix delivery agents. The connection cache is organized into logical destination names, physical endpoint names, and connections. As a specific example, logical SMTP destinations specify (transport, domain, port), and physical SMTP endpoints specify (transport, IP address, port). An SMTP connection may be saved after a successful mail transaction. In the general case, one logical destination may refer to zero or more physical endpoints, one physical endpoint may be referenced by zero or more logical destinations, and one endpoint may refer to zero or more connections. The exact syntax of a logical destination or endpoint name is application dependent; the \fBscache\fR(8) server does not care. A connection is stored as a file descriptor together with application-dependent information that is needed to re-activate a connection object. Again, the \fBscache\fR(8) server is completely unaware of the details of that information. All information is stored with a finite time to live (ttl). The connection cache daemon terminates when no client is connected for \fBmax_idle\fR time units. This server implements the following requests: .IP "\fBsave_endp\fI ttl endpoint endpoint_properties file_descriptor\fR" Save the specified file descriptor and connection property data under the specified endpoint name. The endpoint properties are used by the client to re-activate a passivated connection object. .IP "\fBfind_endp\fI endpoint\fR" Look up cached properties and a cached file descriptor for the specified endpoint. .IP "\fBsave_dest\fI ttl destination destination_properties endpoint\fR" Save the binding between a logical destination and an endpoint under the destination name, together with destination specific connection properties. The destination properties are used by the client to re-activate a passivated connection object. .IP "\fBfind_dest\fI destination\fR" Look up cached destination properties, cached endpoint properties, and a cached file descriptor for the specified logical destination. .SH "SECURITY" .na .nf .ad .fi The \fBscache\fR(8) server is not security-sensitive. It does not talk to the network, and it does not talk to local users. The \fBscache\fR(8) server can run chrooted at fixed low privilege. The \fBscache\fR(8) server is not a trusted process. It must not be used to store information that is security sensitive. .SH DIAGNOSTICS .ad .fi Problems and transactions are logged to \fBsyslogd\fR(8). .SH BUGS .ad .fi The session cache cannot be shared among multiple machines. When a connection expires from the cache, it is closed without the appropriate protocol specific handshake. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi Changes to \fBmain.cf\fR are picked up automatically as \fBscache\fR(8) processes run for only a limited amount of time. Use the command "\fBpostfix reload\fR" to speed up a change. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. .SH "RESOURCE CONTROLS" .na .nf .ad .fi .IP "\fBconnection_cache_ttl_limit (2s)\fR" The maximal time-to-live value that the \fBscache\fR(8) connection cache server allows. .IP "\fBconnection_cache_status_update_time (600s)\fR" How frequently the \fBscache\fR(8) server logs usage statistics with connection cache hit and miss rates for logical destinations and for physical endpoints. .SH "MISCELLANEOUS CONTROLS" .na .nf .ad .fi .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBdaemon_timeout (18000s)\fR" How much time a Postfix daemon process may take to handle a request before it is terminated by a built-in watchdog timer. .IP "\fBipc_timeout (3600s)\fR" The time limit for sending or receiving information over an internal communication channel. .IP "\fBmax_idle (100s)\fR" The maximum amount of time that an idle Postfix daemon process waits for an incoming connection before terminating voluntarily. .IP "\fBprocess_id (read-only)\fR" The process ID of a Postfix command or daemon process. .IP "\fBprocess_name (read-only)\fR" The process name of a Postfix command or daemon process. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .SH "SEE ALSO" .na .nf smtp(8), SMTP client postconf(5), configuration parameters master(8), process manager syslogd(8), system logging .SH "README FILES" .na .nf .ad .fi Use "\fBpostconf readme_directory\fR" or "\fBpostconf html_directory\fR" to locate this information. .na .nf CONNECTION_CACHE_README, Postfix connection cache .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "HISTORY" .na .nf This service was introduced with Postfix version 2.2. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682ec000081a4000000000000000000000001513697a9000060790000010000010031ffffffffffffffff0000002000000000root/usr/local/man/man8/local.8.TH LOCAL 8 .ad .fi .SH NAME local \- Postfix local mail delivery .SH "SYNOPSIS" .na .nf \fBlocal\fR [generic Postfix daemon options] .SH DESCRIPTION .ad .fi The \fBlocal\fR(8) daemon processes delivery requests from the Postfix queue manager to deliver mail to local recipients. Each delivery request specifies a queue file, a sender address, a domain or host to deliver to, and one or more recipients. This program expects to be run from the \fBmaster\fR(8) process manager. The \fBlocal\fR(8) daemon updates queue files and marks recipients as finished, or it informs the queue manager that delivery should be tried again at a later time. Delivery status reports are sent to the \fBbounce\fR(8), \fBdefer\fR(8) or \fBtrace\fR(8) daemon as appropriate. .SH "CASE FOLDING" .na .nf .ad .fi All delivery decisions are made using the bare recipient name (i.e. the address localpart), folded to lower case. See also under ADDRESS EXTENSION below for a few exceptions. .SH "SYSTEM-WIDE AND USER-LEVEL ALIASING" .na .nf .ad .fi The system administrator can set up one or more system-wide \fBsendmail\fR-style alias databases. Users can have \fBsendmail\fR-style ~/.\fBforward\fR files. Mail for \fIname\fR is delivered to the alias \fIname\fR, to destinations in ~\fIname\fR/.\fBforward\fR, to the mailbox owned by the user \fIname\fR, or it is sent back as undeliverable. The system administrator can specify a comma/space separated list of ~\fR/.\fBforward\fR like files through the \fBforward_path\fR configuration parameter. Upon delivery, the local delivery agent tries each pathname in the list until a file is found. Delivery via ~/.\fBforward\fR files is done with the privileges of the recipient. Thus, ~/.\fBforward\fR like files must be readable by the recipient, and their parent directory needs to have "execute" permission for the recipient. The \fBforward_path\fR parameter is subject to interpolation of \fB$user\fR (recipient username), \fB$home\fR (recipient home directory), \fB$shell\fR (recipient shell), \fB$recipient\fR (complete recipient address), \fB$extension\fR (recipient address extension), \fB$domain\fR (recipient domain), \fB$local\fR (entire recipient address localpart) and \fB$recipient_delimiter.\fR The forms \fI${name?value}\fR and \fI${name:value}\fR expand conditionally to \fIvalue\fR when \fI$name\fR is (is not) defined. Characters that may have special meaning to the shell or file system are replaced by underscores. The list of acceptable characters is specified with the \fBforward_expansion_filter\fR configuration parameter. An alias or ~/.\fBforward\fR file may list any combination of external commands, destination file names, \fB:include:\fR directives, or mail addresses. See \fBaliases\fR(5) for a precise description. Each line in a user's .\fBforward\fR file has the same syntax as the right-hand part of an alias. When an address is found in its own alias expansion, delivery is made to the user instead. When a user is listed in the user's own ~/.\fBforward\fR file, delivery is made to the user's mailbox instead. An empty ~/.\fBforward\fR file means do not forward mail. In order to prevent the mail system from using up unreasonable amounts of memory, input records read from \fB:include:\fR or from ~/.\fBforward\fR files are broken up into chunks of length \fBline_length_limit\fR. While expanding aliases, ~/.\fBforward\fR files, and so on, the program attempts to avoid duplicate deliveries. The \fBduplicate_filter_limit\fR configuration parameter limits the number of remembered recipients. .SH "MAIL FORWARDING" .na .nf .ad .fi For the sake of reliability, forwarded mail is re-submitted as a new message, so that each recipient has a separate on-file delivery status record. In order to stop mail forwarding loops early, the software adds an optional \fBDelivered-To:\fR header with the final envelope recipient address. If mail arrives for a recipient that is already listed in a \fBDelivered-To:\fR header, the message is bounced. .SH "MAILBOX DELIVERY" .na .nf .ad .fi The default per-user mailbox is a file in the UNIX mail spool directory (\fB/var/mail/\fIuser\fR or \fB/var/spool/mail/\fIuser\fR); the location can be specified with the \fBmail_spool_directory\fR configuration parameter. Specify a name ending in \fB/\fR for \fBqmail\fR-compatible \fBmaildir\fR delivery. Alternatively, the per-user mailbox can be a file in the user's home directory with a name specified via the \fBhome_mailbox\fR configuration parameter. Specify a relative path name. Specify a name ending in \fB/\fR for \fBqmail\fR-compatible \fBmaildir\fR delivery. Mailbox delivery can be delegated to an external command specified with the \fBmailbox_command_maps\fR and \fBmailbox_command\fR configuration parameters. The command executes with the privileges of the recipient user (exceptions: secondary groups are not enabled; in case of delivery as root, the command executes with the privileges of \fBdefault_privs\fR). Mailbox delivery can be delegated to alternative message transports specified in the \fBmaster.cf\fR file. The \fBmailbox_transport_maps\fR and \fBmailbox_transport\fR configuration parameters specify an optional message transport that is to be used for all local recipients, regardless of whether they are found in the UNIX passwd database. The \fBfallback_transport_maps\fR and \fBfallback_transport\fR parameters specify an optional message transport for recipients that are not found in the aliases(5) or UNIX passwd database. In the case of UNIX-style mailbox delivery, the \fBlocal\fR(8) daemon prepends a "\fBFrom \fIsender time_stamp\fR" envelope header to each message, prepends an \fBX-Original-To:\fR header with the recipient address as given to Postfix, prepends an optional \fBDelivered-To:\fR header with the final envelope recipient address, prepends a \fBReturn-Path:\fR header with the envelope sender address, prepends a \fB>\fR character to lines beginning with "\fBFrom \fR", and appends an empty line. The mailbox is locked for exclusive access while delivery is in progress. In case of problems, an attempt is made to truncate the mailbox to its original length. In the case of \fBmaildir\fR delivery, the local daemon prepends an optional \fBDelivered-To:\fR header with the final envelope recipient address, prepends an \fBX-Original-To:\fR header with the recipient address as given to Postfix, and prepends a \fBReturn-Path:\fR header with the envelope sender address. .SH "EXTERNAL COMMAND DELIVERY" .na .nf .ad .fi The \fBallow_mail_to_commands\fR configuration parameter restricts delivery to external commands. The default setting (\fBalias, forward\fR) forbids command destinations in \fB:include:\fR files. Optionally, the process working directory is changed to the path specified with \fBcommand_execution_directory\fR (Postfix 2.2 and later). Failure to change directory causes mail to be deferred. The \fBcommand_execution_directory\fR parameter value is subject to interpolation of \fB$user\fR (recipient username), \fB$home\fR (recipient home directory), \fB$shell\fR (recipient shell), \fB$recipient\fR (complete recipient address), \fB$extension\fR (recipient address extension), \fB$domain\fR (recipient domain), \fB$local\fR (entire recipient address localpart) and \fB$recipient_delimiter.\fR The forms \fI${name?value}\fR and \fI${name:value}\fR expand conditionally to \fIvalue\fR when \fI$name\fR is (is not) defined. Characters that may have special meaning to the shell or file system are replaced by underscores. The list of acceptable characters is specified with the \fBexecution_directory_expansion_filter\fR configuration parameter. The command is executed directly where possible. Assistance by the shell (\fB/bin/sh\fR on UNIX systems) is used only when the command contains shell magic characters, or when the command invokes a shell built-in command. A limited amount of command output (standard output and standard error) is captured for inclusion with non-delivery status reports. A command is forcibly terminated if it does not complete within \fBcommand_time_limit\fR seconds. Command exit status codes are expected to follow the conventions defined in <\fBsysexits.h\fR>. Exit status 0 means normal successful completion. Postfix version 2.3 and later support RFC 3463-style enhanced status codes. If a command terminates with a non-zero exit status, and the command output begins with an enhanced status code, this status code takes precedence over the non-zero exit status. A limited amount of message context is exported via environment variables. Characters that may have special meaning to the shell are replaced by underscores. The list of acceptable characters is specified with the \fBcommand_expansion_filter\fR configuration parameter. .IP \fBSHELL\fR The recipient user's login shell. .IP \fBHOME\fR The recipient user's home directory. .IP \fBUSER\fR The bare recipient name. .IP \fBEXTENSION\fR The optional recipient address extension. .IP \fBDOMAIN\fR The recipient address domain part. .IP \fBLOGNAME\fR The bare recipient name. .IP \fBLOCAL\fR The entire recipient address localpart (text to the left of the rightmost @ character). .IP \fBORIGINAL_RECIPIENT\fR The entire recipient address, before any address rewriting or aliasing (Postfix 2.5 and later). .IP \fBRECIPIENT\fR The entire recipient address. .IP \fBSENDER\fR The entire sender address. .PP Additional remote client information is made available via the following environment variables: .IP \fBCLIENT_ADDRESS\fR Remote client network address. Available as of Postfix 2.2. .IP \fBCLIENT_HELO\fR Remote client EHLO command parameter. Available as of Postfix 2.2. .IP \fBCLIENT_HOSTNAME\fR Remote client hostname. Available as of Postfix 2.2. .IP \fBCLIENT_PROTOCOL\fR Remote client protocol. Available as of Postfix 2.2. .IP \fBSASL_METHOD\fR SASL authentication method specified in the remote client AUTH command. Available as of Postfix 2.2. .IP \fBSASL_SENDER\fR SASL sender address specified in the remote client MAIL FROM command. Available as of Postfix 2.2. .IP \fBSASL_USERNAME\fR SASL username specified in the remote client AUTH command. Available as of Postfix 2.2. .PP The \fBPATH\fR environment variable is always reset to a system-dependent default path, and environment variables whose names are blessed by the \fBexport_environment\fR configuration parameter are exported unchanged. The current working directory is the mail queue directory. The \fBlocal\fR(8) daemon prepends a "\fBFrom \fIsender time_stamp\fR" envelope header to each message, prepends an \fBX-Original-To:\fR header with the recipient address as given to Postfix, prepends an optional \fBDelivered-To:\fR header with the final recipient envelope address, prepends a \fBReturn-Path:\fR header with the sender envelope address, and appends no empty line. .SH "EXTERNAL FILE DELIVERY" .na .nf .ad .fi The delivery format depends on the destination filename syntax. The default is to use UNIX-style mailbox format. Specify a name ending in \fB/\fR for \fBqmail\fR-compatible \fBmaildir\fR delivery. The \fBallow_mail_to_files\fR configuration parameter restricts delivery to external files. The default setting (\fBalias, forward\fR) forbids file destinations in \fB:include:\fR files. In the case of UNIX-style mailbox delivery, the \fBlocal\fR(8) daemon prepends a "\fBFrom \fIsender time_stamp\fR" envelope header to each message, prepends an \fBX-Original-To:\fR header with the recipient address as given to Postfix, prepends an optional \fBDelivered-To:\fR header with the final recipient envelope address, prepends a \fB>\fR character to lines beginning with "\fBFrom \fR", and appends an empty line. The envelope sender address is available in the \fBReturn-Path:\fR header. When the destination is a regular file, it is locked for exclusive access while delivery is in progress. In case of problems, an attempt is made to truncate a regular file to its original length. In the case of \fBmaildir\fR delivery, the local daemon prepends an optional \fBDelivered-To:\fR header with the final envelope recipient address, and prepends an \fBX-Original-To:\fR header with the recipient address as given to Postfix. The envelope sender address is available in the \fBReturn-Path:\fR header. .SH "ADDRESS EXTENSION" .na .nf .ad .fi The optional \fBrecipient_delimiter\fR configuration parameter specifies how to separate address extensions from local recipient names. For example, with "\fBrecipient_delimiter = +\fR", mail for \fIname\fR+\fIfoo\fR is delivered to the alias \fIname\fR+\fIfoo\fR or to the alias \fIname\fR, to the destinations listed in ~\fIname\fR/.\fBforward\fR+\fIfoo\fR or in ~\fIname\fR/.\fBforward\fR, to the mailbox owned by the user \fIname\fR, or it is sent back as undeliverable. .SH "DELIVERY RIGHTS" .na .nf .ad .fi Deliveries to external files and external commands are made with the rights of the receiving user on whose behalf the delivery is made. In the absence of a user context, the \fBlocal\fR(8) daemon uses the owner rights of the \fB:include:\fR file or alias database. When those files are owned by the superuser, delivery is made with the rights specified with the \fBdefault_privs\fR configuration parameter. .SH "STANDARDS" .na .nf RFC 822 (ARPA Internet Text Messages) RFC 3463 (Enhanced status codes) .SH DIAGNOSTICS .ad .fi Problems and transactions are logged to \fBsyslogd\fR(8). Corrupted message files are marked so that the queue manager can move them to the \fBcorrupt\fR queue afterwards. Depending on the setting of the \fBnotify_classes\fR parameter, the postmaster is notified of bounces and of other trouble. .SH "SECURITY" .na .nf .ad .fi The \fBlocal\fR(8) delivery agent needs a dual personality 1) to access the private Postfix queue and IPC mechanisms, 2) to impersonate the recipient and deliver to recipient-specified files or commands. It is therefore security sensitive. The \fBlocal\fR(8) delivery agent disallows regular expression substitution of $1 etc. in \fBalias_maps\fR, because that would open a security hole. The \fBlocal\fR(8) delivery agent will silently ignore requests to use the \fBproxymap\fR(8) server within \fBalias_maps\fR. Instead it will open the table directly. Before Postfix version 2.2, the \fBlocal\fR(8) delivery agent will terminate with a fatal error. .SH BUGS .ad .fi For security reasons, the message delivery status of external commands or of external files is never checkpointed to file. As a result, the program may occasionally deliver more than once to a command or external file. Better safe than sorry. Mutually-recursive aliases or ~/.\fBforward\fR files are not detected early. The resulting mail forwarding loop is broken by the use of the \fBDelivered-To:\fR message header. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi Changes to \fBmain.cf\fR are picked up automatically, as \fBlocal\fR(8) processes run for only a limited amount of time. Use the command "\fBpostfix reload\fR" to speed up a change. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. .SH "COMPATIBILITY CONTROLS" .na .nf .ad .fi .IP "\fBbiff (yes)\fR" Whether or not to use the local biff service. .IP "\fBexpand_owner_alias (no)\fR" When delivering to an alias "aliasname" that has an "owner-aliasname" companion alias, set the envelope sender address to the expansion of the "owner-aliasname" alias. .IP "\fBowner_request_special (yes)\fR" Give special treatment to owner-listname and listname-request address localparts: don't split such addresses when the recipient_delimiter is set to "-". .IP "\fBsun_mailtool_compatibility (no)\fR" Obsolete SUN mailtool compatibility feature. .PP Available in Postfix version 2.3 and later: .IP "\fBfrozen_delivered_to (yes)\fR" Update the \fBlocal\fR(8) delivery agent's idea of the Delivered-To: address (see prepend_delivered_header) only once, at the start of a delivery attempt; do not update the Delivered-To: address while expanding aliases or .forward files. .PP Available in Postfix version 2.5.3 and later: .IP "\fBstrict_mailbox_ownership (yes)\fR" Defer delivery when a mailbox file is not owned by its recipient. .IP "\fBreset_owner_alias (no)\fR" Reset the \fBlocal\fR(8) delivery agent's idea of the owner-alias attribute, when delivering mail to a child alias that does not have its own owner alias. .SH "DELIVERY METHOD CONTROLS" .na .nf .ad .fi The precedence of \fBlocal\fR(8) delivery methods from high to low is: aliases, .forward files, mailbox_transport_maps, mailbox_transport, mailbox_command_maps, mailbox_command, home_mailbox, mail_spool_directory, fallback_transport_maps, fallback_transport, and luser_relay. .IP "\fBalias_maps (see 'postconf -d' output)\fR" The alias databases that are used for \fBlocal\fR(8) delivery. .IP "\fBforward_path (see 'postconf -d' output)\fR" The \fBlocal\fR(8) delivery agent search list for finding a .forward file with user-specified delivery methods. .IP "\fBmailbox_transport_maps (empty)\fR" Optional lookup tables with per-recipient message delivery transports to use for \fBlocal\fR(8) mailbox delivery, whether or not the recipients are found in the UNIX passwd database. .IP "\fBmailbox_transport (empty)\fR" Optional message delivery transport that the \fBlocal\fR(8) delivery agent should use for mailbox delivery to all local recipients, whether or not they are found in the UNIX passwd database. .IP "\fBmailbox_command_maps (empty)\fR" Optional lookup tables with per-recipient external commands to use for \fBlocal\fR(8) mailbox delivery. .IP "\fBmailbox_command (empty)\fR" Optional external command that the \fBlocal\fR(8) delivery agent should use for mailbox delivery. .IP "\fBhome_mailbox (empty)\fR" Optional pathname of a mailbox file relative to a \fBlocal\fR(8) user's home directory. .IP "\fBmail_spool_directory (see 'postconf -d' output)\fR" The directory where \fBlocal\fR(8) UNIX-style mailboxes are kept. .IP "\fBfallback_transport_maps (empty)\fR" Optional lookup tables with per-recipient message delivery transports for recipients that the \fBlocal\fR(8) delivery agent could not find in the \fBaliases\fR(5) or UNIX password database. .IP "\fBfallback_transport (empty)\fR" Optional message delivery transport that the \fBlocal\fR(8) delivery agent should use for names that are not found in the \fBaliases\fR(5) or UNIX password database. .IP "\fBluser_relay (empty)\fR" Optional catch-all destination for unknown \fBlocal\fR(8) recipients. .PP Available in Postfix version 2.2 and later: .IP "\fBcommand_execution_directory (empty)\fR" The \fBlocal\fR(8) delivery agent working directory for delivery to external command. .SH "MAILBOX LOCKING CONTROLS" .na .nf .ad .fi .IP "\fBdeliver_lock_attempts (20)\fR" The maximal number of attempts to acquire an exclusive lock on a mailbox file or \fBbounce\fR(8) logfile. .IP "\fBdeliver_lock_delay (1s)\fR" The time between attempts to acquire an exclusive lock on a mailbox file or \fBbounce\fR(8) logfile. .IP "\fBstale_lock_time (500s)\fR" The time after which a stale exclusive mailbox lockfile is removed. .IP "\fBmailbox_delivery_lock (see 'postconf -d' output)\fR" How to lock a UNIX-style \fBlocal\fR(8) mailbox before attempting delivery. .SH "RESOURCE AND RATE CONTROLS" .na .nf .ad .fi .IP "\fBcommand_time_limit (1000s)\fR" Time limit for delivery to external commands. .IP "\fBduplicate_filter_limit (1000)\fR" The maximal number of addresses remembered by the address duplicate filter for \fBaliases\fR(5) or \fBvirtual\fR(5) alias expansion, or for \fBshowq\fR(8) queue displays. .IP "\fBlocal_destination_concurrency_limit (2)\fR" The maximal number of parallel deliveries via the local mail delivery transport to the same recipient (when "local_destination_recipient_limit = 1") or the maximal number of parallel deliveries to the same local domain (when "local_destination_recipient_limit > 1"). .IP "\fBlocal_destination_recipient_limit (1)\fR" The maximal number of recipients per message delivery via the local mail delivery transport. .IP "\fBmailbox_size_limit (51200000)\fR" The maximal size of any \fBlocal\fR(8) individual mailbox or maildir file, or zero (no limit). .SH "SECURITY CONTROLS" .na .nf .ad .fi .IP "\fBallow_mail_to_commands (alias, forward)\fR" Restrict \fBlocal\fR(8) mail delivery to external commands. .IP "\fBallow_mail_to_files (alias, forward)\fR" Restrict \fBlocal\fR(8) mail delivery to external files. .IP "\fBcommand_expansion_filter (see 'postconf -d' output)\fR" Restrict the characters that the \fBlocal\fR(8) delivery agent allows in $name expansions of $mailbox_command and $command_execution_directory. .IP "\fBdefault_privs (nobody)\fR" The default rights used by the \fBlocal\fR(8) delivery agent for delivery to external file or command. .IP "\fBforward_expansion_filter (see 'postconf -d' output)\fR" Restrict the characters that the \fBlocal\fR(8) delivery agent allows in $name expansions of $forward_path. .PP Available in Postfix version 2.2 and later: .IP "\fBexecution_directory_expansion_filter (see 'postconf -d' output)\fR" Restrict the characters that the \fBlocal\fR(8) delivery agent allows in $name expansions of $command_execution_directory. .PP Available in Postfix version 2.5.3 and later: .IP "\fBstrict_mailbox_ownership (yes)\fR" Defer delivery when a mailbox file is not owned by its recipient. .SH "MISCELLANEOUS CONTROLS" .na .nf .ad .fi .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBdaemon_timeout (18000s)\fR" How much time a Postfix daemon process may take to handle a request before it is terminated by a built-in watchdog timer. .IP "\fBdelay_logging_resolution_limit (2)\fR" The maximal number of digits after the decimal point when logging sub-second delay values. .IP "\fBexport_environment (see 'postconf -d' output)\fR" The list of environment variables that a Postfix process will export to non-Postfix processes. .IP "\fBipc_timeout (3600s)\fR" The time limit for sending or receiving information over an internal communication channel. .IP "\fBlocal_command_shell (empty)\fR" Optional shell program for \fBlocal\fR(8) delivery to non-Postfix command. .IP "\fBmax_idle (100s)\fR" The maximum amount of time that an idle Postfix daemon process waits for an incoming connection before terminating voluntarily. .IP "\fBmax_use (100)\fR" The maximal number of incoming connections that a Postfix daemon process will service before terminating voluntarily. .IP "\fBprepend_delivered_header (command, file, forward)\fR" The message delivery contexts where the Postfix \fBlocal\fR(8) delivery agent prepends a Delivered-To: message header with the address that the mail was delivered to. .IP "\fBprocess_id (read-only)\fR" The process ID of a Postfix command or daemon process. .IP "\fBprocess_name (read-only)\fR" The process name of a Postfix command or daemon process. .IP "\fBpropagate_unmatched_extensions (canonical, virtual)\fR" What address lookup tables copy an address extension from the lookup key to the lookup result. .IP "\fBqueue_directory (see 'postconf -d' output)\fR" The location of the Postfix top-level queue directory. .IP "\fBrecipient_delimiter (empty)\fR" The separator between user names and address extensions (user+foo). .IP "\fBrequire_home_directory (no)\fR" Require that a \fBlocal\fR(8) recipient's home directory exists before mail delivery is attempted. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .SH "FILES" .na .nf The following are examples; details differ between systems. $HOME/.forward, per-user aliasing /etc/aliases, system-wide alias database /var/spool/mail, system mailboxes .SH "SEE ALSO" .na .nf qmgr(8), queue manager bounce(8), delivery status reports newaliases(1), create/update alias database postalias(1), create/update alias database aliases(5), format of alias database postconf(5), configuration parameters master(5), generic daemon options syslogd(8), system logging .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "HISTORY" .na .nf .ad .fi The \fBDelivered-To:\fR message header appears in the \fBqmail\fR system by Daniel Bernstein. The \fImaildir\fR structure appears in the \fBqmail\fR system by Daniel Bernstein. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682f9000081a4000000000000000000000001513697aa000013360000010000010031ffffffffffffffff0000002000000000root/usr/local/man/man8/spawn.8.TH SPAWN 8 .ad .fi .SH NAME spawn \- Postfix external command spawner .SH "SYNOPSIS" .na .nf \fBspawn\fR [generic Postfix daemon options] command_attributes... .SH DESCRIPTION .ad .fi The \fBspawn\fR(8) daemon provides the Postfix equivalent of \fBinetd\fR. It listens on a port as specified in the Postfix \fBmaster.cf\fR file and spawns an external command whenever a connection is established. The connection can be made over local IPC (such as UNIX-domain sockets) or over non-local IPC (such as TCP sockets). The command\'s standard input, output and error streams are connected directly to the communication endpoint. This daemon expects to be run from the \fBmaster\fR(8) process manager. .SH "COMMAND ATTRIBUTE SYNTAX" .na .nf .ad .fi The external command attributes are given in the \fBmaster.cf\fR file at the end of a service definition. The syntax is as follows: .IP "\fBuser\fR=\fIusername\fR (required)" .IP "\fBuser\fR=\fIusername\fR:\fIgroupname\fR" The external command is executed with the rights of the specified \fIusername\fR. The software refuses to execute commands with root privileges, or with the privileges of the mail system owner. If \fIgroupname\fR is specified, the corresponding group ID is used instead of the group ID of \fIusername\fR. .IP "\fBargv\fR=\fIcommand\fR... (required)" The command to be executed. This must be specified as the last command attribute. The command is executed directly, i.e. without interpretation of shell meta characters by a shell command interpreter. .SH BUGS .ad .fi In order to enforce standard Postfix process resource controls, the \fBspawn\fR(8) daemon runs only one external command at a time. As such, it presents a noticeable overhead by wasting precious process resources. The \fBspawn\fR(8) daemon is expected to be replaced by a more structural solution. .SH DIAGNOSTICS .ad .fi The \fBspawn\fR(8) daemon reports abnormal child exits. Problems are logged to \fBsyslogd\fR(8). .SH "SECURITY" .na .nf .fi .ad This program needs root privilege in order to execute external commands as the specified user. It is therefore security sensitive. However the \fBspawn\fR(8) daemon does not talk to the external command and thus is not vulnerable to data-driven attacks. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi Changes to \fBmain.cf\fR are picked up automatically as \fBspawn\fR(8) processes run for only a limited amount of time. Use the command "\fBpostfix reload\fR" to speed up a change. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. In the text below, \fItransport\fR is the first field of the entry in the \fBmaster.cf\fR file. .SH "RESOURCE AND RATE CONTROL" .na .nf .ad .fi .IP "\fItransport\fB_time_limit ($command_time_limit)\fR" The amount of time the command is allowed to run before it is terminated. Postfix 2.4 and later support a suffix that specifies the time unit: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is seconds. .SH "MISCELLANEOUS" .na .nf .ad .fi .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBdaemon_timeout (18000s)\fR" How much time a Postfix daemon process may take to handle a request before it is terminated by a built-in watchdog timer. .IP "\fBexport_environment (see 'postconf -d' output)\fR" The list of environment variables that a Postfix process will export to non-Postfix processes. .IP "\fBipc_timeout (3600s)\fR" The time limit for sending or receiving information over an internal communication channel. .IP "\fBmail_owner (postfix)\fR" The UNIX system account that owns the Postfix queue and most Postfix daemon processes. .IP "\fBmax_idle (100s)\fR" The maximum amount of time that an idle Postfix daemon process waits for an incoming connection before terminating voluntarily. .IP "\fBmax_use (100)\fR" The maximal number of incoming connections that a Postfix daemon process will service before terminating voluntarily. .IP "\fBprocess_id (read-only)\fR" The process ID of a Postfix command or daemon process. .IP "\fBprocess_name (read-only)\fR" The process name of a Postfix command or daemon process. .IP "\fBqueue_directory (see 'postconf -d' output)\fR" The location of the Postfix top-level queue directory. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .SH "SEE ALSO" .na .nf postconf(5), configuration parameters master(8), process manager syslogd(8), system logging .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682fd000081a4000000000000000000000001513697aa00002bbb0000010000010031ffffffffffffffff0000002a00000000root/usr/local/man/man8/trivial-rewrite.8.TH TRIVIAL-REWRITE 8 .ad .fi .SH NAME trivial-rewrite \- Postfix address rewriting and resolving daemon .SH "SYNOPSIS" .na .nf \fBtrivial-rewrite\fR [generic Postfix daemon options] .SH DESCRIPTION .ad .fi The \fBtrivial-rewrite\fR(8) daemon processes three types of client service requests: .IP "\fBrewrite \fIcontext address\fR" Rewrite an address to standard form, according to the address rewriting context: .RS .IP \fBlocal\fR Append the domain names specified with \fB$myorigin\fR or \fB$mydomain\fR to incomplete addresses; do \fBswap_bangpath\fR and \fBallow_percent_hack\fR processing as described below, and strip source routed addresses (\fI@site,@site:user@domain\fR) to \fIuser@domain\fR form. .IP \fBremote\fR Append the domain name specified with \fB$remote_header_rewrite_domain\fR to incomplete addresses. Otherwise the result is identical to that of the \fBlocal\fR address rewriting context. This prevents Postfix from appending the local domain to spam from poorly written remote clients. .RE .IP "\fBresolve \fIsender\fR \fIaddress\fR" Resolve the address to a (\fItransport\fR, \fInexthop\fR, \fIrecipient\fR, \fIflags\fR) quadruple. The meaning of the results is as follows: .RS .IP \fItransport\fR The delivery agent to use. This is the first field of an entry in the \fBmaster.cf\fR file. .IP \fInexthop\fR The host to send to and optional delivery method information. .IP \fIrecipient\fR The envelope recipient address that is passed on to \fInexthop\fR. .IP \fIflags\fR The address class, whether the address requires relaying, whether the address has problems, and whether the request failed. .RE .IP "\fBverify \fIsender\fR \fIaddress\fR" Resolve the address for address verification purposes. .SH "SERVER PROCESS MANAGEMENT" .na .nf .ad .fi The \fBtrivial-rewrite\fR(8) servers run under control by the Postfix master server. Each server can handle multiple simultaneous connections. When all servers are busy while a client connects, the master creates a new server process, provided that the trivial-rewrite server process limit is not exceeded. Each trivial-rewrite server terminates after serving at least \fB$max_use\fR clients of after \fB$max_idle\fR seconds of idle time. .SH "STANDARDS" .na .nf .ad .fi None. The command does not interact with the outside world. .SH "SECURITY" .na .nf .ad .fi The \fBtrivial-rewrite\fR(8) daemon is not security sensitive. By default, this daemon does not talk to remote or local users. It can run at a fixed low privilege in a chrooted environment. .SH DIAGNOSTICS .ad .fi Problems and transactions are logged to \fBsyslogd\fR(8). .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi On busy mail systems a long time may pass before a \fBmain.cf\fR change affecting \fBtrivial-rewrite\fR(8) is picked up. Use the command "\fBpostfix reload\fR" to speed up a change. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. .SH "COMPATIBILITY CONTROLS" .na .nf .ad .fi .IP "\fBresolve_dequoted_address (yes)\fR" Resolve a recipient address safely instead of correctly, by looking inside quotes. .IP "\fBresolve_null_domain (no)\fR" Resolve an address that ends in the "@" null domain as if the local hostname were specified, instead of rejecting the address as invalid. .IP "\fBresolve_numeric_domain (no)\fR" Resolve "user@ipaddress" as "user@[ipaddress]", instead of rejecting the address as invalid. .PP Available with Postfix version 2.5 and later: .IP "\fBallow_min_user (no)\fR" Allow a sender or recipient address to have `-' as the first character. .SH "ADDRESS REWRITING CONTROLS" .na .nf .ad .fi .IP "\fBmyorigin ($myhostname)\fR" The domain name that locally-posted mail appears to come from, and that locally posted mail is delivered to. .IP "\fBallow_percent_hack (yes)\fR" Enable the rewriting of the form "user%domain" to "user@domain". .IP "\fBappend_at_myorigin (yes)\fR" With locally submitted mail, append the string "@$myorigin" to mail addresses without domain information. .IP "\fBappend_dot_mydomain (yes)\fR" With locally submitted mail, append the string ".$mydomain" to addresses that have no ".domain" information. .IP "\fBrecipient_delimiter (empty)\fR" The separator between user names and address extensions (user+foo). .IP "\fBswap_bangpath (yes)\fR" Enable the rewriting of "site!user" into "user@site". .PP Available in Postfix 2.2 and later: .IP "\fBremote_header_rewrite_domain (empty)\fR" Don't rewrite message headers from remote clients at all when this parameter is empty; otherwise, rewrite message headers and append the specified domain name to incomplete addresses. .SH "ROUTING CONTROLS" .na .nf .ad .fi The following is applicable to Postfix version 2.0 and later. Earlier versions do not have support for: virtual_transport, relay_transport, virtual_alias_domains, virtual_mailbox_domains or proxy_interfaces. .IP "\fBlocal_transport (local:$myhostname)\fR" The default mail delivery transport and next-hop destination for final delivery to domains listed with mydestination, and for [ipaddress] destinations that match $inet_interfaces or $proxy_interfaces. .IP "\fBvirtual_transport (virtual)\fR" The default mail delivery transport and next-hop destination for final delivery to domains listed with $virtual_mailbox_domains. .IP "\fBrelay_transport (relay)\fR" The default mail delivery transport and next-hop destination for remote delivery to domains listed with $relay_domains. .IP "\fBdefault_transport (smtp)\fR" The default mail delivery transport and next-hop destination for destinations that do not match $mydestination, $inet_interfaces, $proxy_interfaces, $virtual_alias_domains, $virtual_mailbox_domains, or $relay_domains. .IP "\fBparent_domain_matches_subdomains (see 'postconf -d' output)\fR" What Postfix features match subdomains of "domain.tld" automatically, instead of requiring an explicit ".domain.tld" pattern. .IP "\fBrelayhost (empty)\fR" The next-hop destination of non-local mail; overrides non-local domains in recipient addresses. .IP "\fBtransport_maps (empty)\fR" Optional lookup tables with mappings from recipient address to (message delivery transport, next-hop destination). .PP Available in Postfix version 2.3 and later: .IP "\fBsender_dependent_relayhost_maps (empty)\fR" A sender-dependent override for the global relayhost parameter setting. .PP Available in Postfix version 2.5 and later: .IP "\fBempty_address_relayhost_maps_lookup_key (<>)\fR" The sender_dependent_relayhost_maps search string that will be used instead of the null sender address. .PP Available in Postfix version 2.7 and later: .IP "\fBempty_address_default_transport_maps_lookup_key (<>)\fR" The sender_dependent_default_transport_maps search string that will be used instead of the null sender address. .IP "\fBsender_dependent_default_transport_maps (empty)\fR" A sender-dependent override for the global default_transport parameter setting. .SH "ADDRESS VERIFICATION CONTROLS" .na .nf .ad .fi Postfix version 2.1 introduces sender and recipient address verification. This feature is implemented by sending probe email messages that are not actually delivered. By default, address verification probes use the same route as regular mail. To override specific aspects of message routing for address verification probes, specify one or more of the following: .IP "\fBaddress_verify_local_transport ($local_transport)\fR" Overrides the local_transport parameter setting for address verification probes. .IP "\fBaddress_verify_virtual_transport ($virtual_transport)\fR" Overrides the virtual_transport parameter setting for address verification probes. .IP "\fBaddress_verify_relay_transport ($relay_transport)\fR" Overrides the relay_transport parameter setting for address verification probes. .IP "\fBaddress_verify_default_transport ($default_transport)\fR" Overrides the default_transport parameter setting for address verification probes. .IP "\fBaddress_verify_relayhost ($relayhost)\fR" Overrides the relayhost parameter setting for address verification probes. .IP "\fBaddress_verify_transport_maps ($transport_maps)\fR" Overrides the transport_maps parameter setting for address verification probes. .PP Available in Postfix version 2.3 and later: .IP "\fBaddress_verify_sender_dependent_relayhost_maps ($sender_dependent_relayhost_maps)\fR" Overrides the sender_dependent_relayhost_maps parameter setting for address verification probes. .PP Available in Postfix version 2.7 and later: .IP "\fBaddress_verify_sender_dependent_default_transport_maps ($sender_dependent_default_transport_maps)\fR" Overrides the sender_dependent_default_transport_maps parameter setting for address verification probes. .SH "MISCELLANEOUS CONTROLS" .na .nf .ad .fi .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBdaemon_timeout (18000s)\fR" How much time a Postfix daemon process may take to handle a request before it is terminated by a built-in watchdog timer. .IP "\fBempty_address_recipient (MAILER-DAEMON)\fR" The recipient of mail addressed to the null address. .IP "\fBipc_timeout (3600s)\fR" The time limit for sending or receiving information over an internal communication channel. .IP "\fBmax_idle (100s)\fR" The maximum amount of time that an idle Postfix daemon process waits for an incoming connection before terminating voluntarily. .IP "\fBmax_use (100)\fR" The maximal number of incoming connections that a Postfix daemon process will service before terminating voluntarily. .IP "\fBrelocated_maps (empty)\fR" Optional lookup tables with new contact information for users or domains that no longer exist. .IP "\fBprocess_id (read-only)\fR" The process ID of a Postfix command or daemon process. .IP "\fBprocess_name (read-only)\fR" The process name of a Postfix command or daemon process. .IP "\fBqueue_directory (see 'postconf -d' output)\fR" The location of the Postfix top-level queue directory. .IP "\fBshow_user_unknown_table_name (yes)\fR" Display the name of the recipient table in the "User unknown" responses. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .PP Available in Postfix version 2.0 and later: .IP "\fBhelpful_warnings (yes)\fR" Log warnings about problematic configuration settings, and provide helpful suggestions. .SH "SEE ALSO" .na .nf postconf(5), configuration parameters transport(5), transport table format relocated(5), format of the "user has moved" table master(8), process manager syslogd(8), system logging .SH "README FILES" .na .nf .ad .fi Use "\fBpostconf readme_directory\fR" or "\fBpostconf html_directory\fR" to locate this information. .na .nf ADDRESS_CLASS_README, Postfix address classes howto ADDRESS_VERIFICATION_README, Postfix address verification .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682ff000081a4000000000000000000000001513697aa00002be90000010000010031ffffffffffffffff0000002200000000root/usr/local/man/man8/virtual.8.TH VIRTUAL 8 .ad .fi .SH NAME virtual \- Postfix virtual domain mail delivery agent .SH "SYNOPSIS" .na .nf \fBvirtual\fR [generic Postfix daemon options] .SH DESCRIPTION .ad .fi The \fBvirtual\fR(8) delivery agent is designed for virtual mail hosting services. Originally based on the Postfix \fBlocal\fR(8) delivery agent, this agent looks up recipients with map lookups of their full recipient address, instead of using hard-coded unix password file lookups of the address local part only. This delivery agent only delivers mail. Other features such as mail forwarding, out-of-office notifications, etc., must be configured via virtual_alias maps or via similar lookup mechanisms. .SH "MAILBOX LOCATION" .na .nf .ad .fi The mailbox location is controlled by the \fBvirtual_mailbox_base\fR and \fBvirtual_mailbox_maps\fR configuration parameters (see below). The \fBvirtual_mailbox_maps\fR table is indexed by the recipient address as described under TABLE SEARCH ORDER below. The mailbox pathname is constructed as follows: .nf \fB$virtual_mailbox_base/$virtual_mailbox_maps(\fIrecipient\fB)\fR .fi where \fIrecipient\fR is the full recipient address. .SH "UNIX MAILBOX FORMAT" .na .nf .ad .fi When the mailbox location does not end in \fB/\fR, the message is delivered in UNIX mailbox format. This format stores multiple messages in one textfile. The \fBvirtual\fR(8) delivery agent prepends a "\fBFrom \fIsender time_stamp\fR" envelope header to each message, prepends a \fBDelivered-To:\fR message header with the envelope recipient address, prepends an \fBX-Original-To:\fR header with the recipient address as given to Postfix, prepends a \fBReturn-Path:\fR message header with the envelope sender address, prepends a \fB>\fR character to lines beginning with "\fBFrom \fR", and appends an empty line. The mailbox is locked for exclusive access while delivery is in progress. In case of problems, an attempt is made to truncate the mailbox to its original length. .SH "QMAIL MAILDIR FORMAT" .na .nf .ad .fi When the mailbox location ends in \fB/\fR, the message is delivered in qmail \fBmaildir\fR format. This format stores one message per file. The \fBvirtual\fR(8) delivery agent prepends a \fBDelivered-To:\fR message header with the final envelope recipient address, prepends an \fBX-Original-To:\fR header with the recipient address as given to Postfix, and prepends a \fBReturn-Path:\fR message header with the envelope sender address. By definition, \fBmaildir\fR format does not require application-level file locking during mail delivery or retrieval. .SH "MAILBOX OWNERSHIP" .na .nf .ad .fi Mailbox ownership is controlled by the \fBvirtual_uid_maps\fR and \fBvirtual_gid_maps\fR lookup tables, which are indexed with the full recipient address. Each table provides a string with the numerical user and group ID, respectively. The \fBvirtual_minimum_uid\fR parameter imposes a lower bound on numerical user ID values that may be specified in any \fBvirtual_uid_maps\fR. .SH "CASE FOLDING" .na .nf .ad .fi All delivery decisions are made using the full recipient address, folded to lower case. See also the next section for a few exceptions with optional address extensions. .SH "TABLE SEARCH ORDER" .na .nf .ad .fi Normally, a lookup table is specified as a text file that serves as input to the \fBpostmap\fR(1) command. The result, an indexed file in \fBdbm\fR or \fBdb\fR format, is used for fast searching by the mail system. The search order is as follows. The search stops upon the first successful lookup. .IP \(bu When the recipient has an optional address extension the \fIuser+extension@domain.tld\fR address is looked up first. .sp With Postfix versions before 2.1, the optional address extension is always ignored. .IP \(bu The \fIuser@domain.tld\fR address, without address extension, is looked up next. .IP \(bu Finally, the recipient \fI@domain\fR is looked up. .PP 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, a table can be provided as a regular-expression map where patterns are given as regular expressions. In that case, only the full recipient address is given to the regular-expression map. .SH "SECURITY" .na .nf .ad .fi The \fBvirtual\fR(8) delivery agent is not security sensitive, provided that the lookup tables with recipient user/group ID information are adequately protected. This program is not designed to run chrooted. The \fBvirtual\fR(8) delivery agent disallows regular expression substitution of $1 etc. in regular expression lookup tables, because that would open a security hole. The \fBvirtual\fR(8) delivery agent will silently ignore requests to use the \fBproxymap\fR(8) server. Instead it will open the table directly. Before Postfix version 2.2, the virtual delivery agent will terminate with a fatal error. .SH "STANDARDS" .na .nf RFC 822 (ARPA Internet Text Messages) .SH DIAGNOSTICS .ad .fi Mail bounces when the recipient has no mailbox or when the recipient is over disk quota. In all other cases, mail for an existing recipient is deferred and a warning is logged. Problems and transactions are logged to \fBsyslogd\fR(8). Corrupted message files are marked so that the queue manager can move them to the \fBcorrupt\fR queue afterwards. Depending on the setting of the \fBnotify_classes\fR parameter, the postmaster is notified of bounces and of other trouble. .SH BUGS .ad .fi This delivery agent supports address extensions in email addresses and in lookup table keys, but does not propagate address extension information to the result of table lookup. Postfix should have lookup tables that can return multiple result attributes. In order to avoid the inconvenience of maintaining three tables, use an LDAP or MYSQL database. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi Changes to \fBmain.cf\fR are picked up automatically, as \fBvirtual\fR(8) processes run for only a limited amount of time. Use the command "\fBpostfix reload\fR" to speed up a change. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. .SH "MAILBOX DELIVERY CONTROLS" .na .nf .ad .fi .IP "\fBvirtual_mailbox_base (empty)\fR" A prefix that the \fBvirtual\fR(8) delivery agent prepends to all pathname results from $virtual_mailbox_maps table lookups. .IP "\fBvirtual_mailbox_maps (empty)\fR" Optional lookup tables with all valid addresses in the domains that match $virtual_mailbox_domains. .IP "\fBvirtual_minimum_uid (100)\fR" The minimum user ID value that the \fBvirtual\fR(8) delivery agent accepts as a result from $virtual_uid_maps table lookup. .IP "\fBvirtual_uid_maps (empty)\fR" Lookup tables with the per-recipient user ID that the \fBvirtual\fR(8) delivery agent uses while writing to the recipient's mailbox. .IP "\fBvirtual_gid_maps (empty)\fR" Lookup tables with the per-recipient group ID for \fBvirtual\fR(8) mailbox delivery. .PP Available in Postfix version 2.0 and later: .IP "\fBvirtual_mailbox_domains ($virtual_mailbox_maps)\fR" Postfix is final destination for the specified list of domains; mail is delivered via the $virtual_transport mail delivery transport. .IP "\fBvirtual_transport (virtual)\fR" The default mail delivery transport and next-hop destination for final delivery to domains listed with $virtual_mailbox_domains. .PP Available in Postfix version 2.5.3 and later: .IP "\fBstrict_mailbox_ownership (yes)\fR" Defer delivery when a mailbox file is not owned by its recipient. .SH "LOCKING CONTROLS" .na .nf .ad .fi .IP "\fBvirtual_mailbox_lock (see 'postconf -d' output)\fR" How to lock a UNIX-style \fBvirtual\fR(8) mailbox before attempting delivery. .IP "\fBdeliver_lock_attempts (20)\fR" The maximal number of attempts to acquire an exclusive lock on a mailbox file or \fBbounce\fR(8) logfile. .IP "\fBdeliver_lock_delay (1s)\fR" The time between attempts to acquire an exclusive lock on a mailbox file or \fBbounce\fR(8) logfile. .IP "\fBstale_lock_time (500s)\fR" The time after which a stale exclusive mailbox lockfile is removed. .SH "RESOURCE AND RATE CONTROLS" .na .nf .ad .fi .IP "\fBvirtual_destination_concurrency_limit ($default_destination_concurrency_limit)\fR" The maximal number of parallel deliveries to the same destination via the virtual message delivery transport. .IP "\fBvirtual_destination_recipient_limit ($default_destination_recipient_limit)\fR" The maximal number of recipients per message for the virtual message delivery transport. .IP "\fBvirtual_mailbox_limit (51200000)\fR" The maximal size in bytes of an individual \fBvirtual\fR(8) mailbox or maildir file, or zero (no limit). .SH "MISCELLANEOUS CONTROLS" .na .nf .ad .fi .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBdaemon_timeout (18000s)\fR" How much time a Postfix daemon process may take to handle a request before it is terminated by a built-in watchdog timer. .IP "\fBdelay_logging_resolution_limit (2)\fR" The maximal number of digits after the decimal point when logging sub-second delay values. .IP "\fBipc_timeout (3600s)\fR" The time limit for sending or receiving information over an internal communication channel. .IP "\fBmax_idle (100s)\fR" The maximum amount of time that an idle Postfix daemon process waits for an incoming connection before terminating voluntarily. .IP "\fBmax_use (100)\fR" The maximal number of incoming connections that a Postfix daemon process will service before terminating voluntarily. .IP "\fBprocess_id (read-only)\fR" The process ID of a Postfix command or daemon process. .IP "\fBprocess_name (read-only)\fR" The process name of a Postfix command or daemon process. .IP "\fBqueue_directory (see 'postconf -d' output)\fR" The location of the Postfix top-level queue directory. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .SH "SEE ALSO" .na .nf qmgr(8), queue manager bounce(8), delivery status reports postconf(5), configuration parameters syslogd(8), system logging .SH "README_FILES" .na .nf Use "\fBpostconf readme_directory\fR" or "\fBpostconf html_directory\fR" to locate this information. VIRTUAL_README, domain hosting howto .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "HISTORY" .na .nf .ad .fi This delivery agent was originally based on the Postfix local delivery agent. Modifications mainly consisted of removing code that either was not applicable or that was not safe in this context: aliases, ~user/.forward files, delivery to "|command" or to /file/name. The \fBDelivered-To:\fR message header appears in the \fBqmail\fR system by Daniel Bernstein. The \fBmaildir\fR structure appears in the \fBqmail\fR system by Daniel Bernstein. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA Andrew McNamara andrewm@connect.com.au connect.com.au Pty. Ltd. Level 3, 213 Miller St North Sydney 2060, NSW, Australia 070701000682fc000081a4000000000000000000000001513697aa000000120000010000010031ffffffffffffffff0000002000000000root/usr/local/man/man8/trace.8.so man8/bounce.8 070701000682e9000081a4000000000000000000000001513697a90000108a0000010000010031ffffffffffffffff0000002000000000root/usr/local/man/man8/error.8.TH ERROR 8 .ad .fi .SH NAME error \- Postfix error/retry mail delivery agent .SH "SYNOPSIS" .na .nf \fBerror\fR [generic Postfix daemon options] .SH DESCRIPTION .ad .fi The Postfix \fBerror\fR(8) delivery agent processes delivery requests from the queue manager. Each request specifies a queue file, a sender address, the reason for non-delivery (specified as the next-hop destination), and recipient information. The reason may be prefixed with an RFC 3463-compatible detail code; if none is specified a default 4.0.0 or 5.0.0 code is used instead. This program expects to be run from the \fBmaster\fR(8) process manager. Depending on the service name in master.cf, \fBerror\fR or \fBretry\fR, the server bounces or defers all recipients in the delivery request using the "next-hop" information as the reason for non-delivery. The \fBretry\fR service name is supported as of Postfix 2.4. Delivery status reports are sent to the \fBbounce\fR(8), \fBdefer\fR(8) or \fBtrace\fR(8) daemon as appropriate. .SH "SECURITY" .na .nf .ad .fi The \fBerror\fR(8) mailer is not security-sensitive. It does not talk to the network, and can be run chrooted at fixed low privilege. .SH "STANDARDS" .na .nf RFC 3463 (Enhanced Status Codes) .SH DIAGNOSTICS .ad .fi Problems and transactions are logged to \fBsyslogd\fR(8). Depending on the setting of the \fBnotify_classes\fR parameter, the postmaster is notified of bounces and of other trouble. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi Changes to \fBmain.cf\fR are picked up automatically as \fBerror\fR(8) processes run for only a limited amount of time. Use the command "\fBpostfix reload\fR" to speed up a change. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. .IP "\fB2bounce_notice_recipient (postmaster)\fR" The recipient of undeliverable mail that cannot be returned to the sender. .IP "\fBbounce_notice_recipient (postmaster)\fR" The recipient of postmaster notifications with the message headers of mail that Postfix did not deliver and of SMTP conversation transcripts of mail that Postfix did not receive. .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBdaemon_timeout (18000s)\fR" How much time a Postfix daemon process may take to handle a request before it is terminated by a built-in watchdog timer. .IP "\fBdelay_logging_resolution_limit (2)\fR" The maximal number of digits after the decimal point when logging sub-second delay values. .IP "\fBdouble_bounce_sender (double-bounce)\fR" The sender address of postmaster notifications that are generated by the mail system. .IP "\fBipc_timeout (3600s)\fR" The time limit for sending or receiving information over an internal communication channel. .IP "\fBmax_idle (100s)\fR" The maximum amount of time that an idle Postfix daemon process waits for an incoming connection before terminating voluntarily. .IP "\fBmax_use (100)\fR" The maximal number of incoming connections that a Postfix daemon process will service before terminating voluntarily. .IP "\fBnotify_classes (resource, software)\fR" The list of error classes that are reported to the postmaster. .IP "\fBprocess_id (read-only)\fR" The process ID of a Postfix command or daemon process. .IP "\fBprocess_name (read-only)\fR" The process name of a Postfix command or daemon process. .IP "\fBqueue_directory (see 'postconf -d' output)\fR" The location of the Postfix top-level queue directory. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .SH "SEE ALSO" .na .nf qmgr(8), queue manager bounce(8), delivery status reports discard(8), Postfix discard delivery agent postconf(5), configuration parameters master(5), generic daemon options master(8), process manager syslogd(8), system logging .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682ed000081a4000000000000000000000001513697a9000019370000010000010031ffffffffffffffff0000002100000000root/usr/local/man/man8/master.8.TH MASTER 8 .ad .fi .SH NAME master \- Postfix master process .SH "SYNOPSIS" .na .nf \fBmaster\fR [\fB-Ddtv\fR] [\fB-c \fIconfig_dir\fR] [\fB-e \fIexit_time\fR] .SH DESCRIPTION .ad .fi The \fBmaster\fR(8) daemon is the resident process that runs Postfix daemons on demand: daemons to send or receive messages via the network, daemons to deliver mail locally, etc. These daemons are created on demand up to a configurable maximum number per service. Postfix daemons terminate voluntarily, either after being idle for a configurable amount of time, or after having serviced a configurable number of requests. Exceptions to this rule are the resident queue manager, address verification server, and the TLS session cache and pseudo-random number server. The behavior of the \fBmaster\fR(8) daemon is controlled by the \fBmaster.cf\fR configuration file, as described in \fBmaster\fR(5). Options: .IP "\fB-c \fIconfig_dir\fR" Read the \fBmain.cf\fR and \fBmaster.cf\fR configuration files in the named directory instead of the default configuration directory. This also overrides the configuration files for other Postfix daemon processes. .IP \fB-D\fR After initialization, run a debugger on the master process. The debugging command is specified with the \fBdebugger_command\fR in the \fBmain.cf\fR global configuration file. .IP \fB-d\fR Do not redirect stdin, stdout or stderr to /dev/null, and do not discard the controlling terminal. This must be used for debugging only. .IP "\fB-e \fIexit_time\fR" Terminate the master process after \fIexit_time\fR seconds. Child processes terminate at their convenience. .IP \fB-t\fR Test mode. Return a zero exit status when the \fBmaster.pid\fR lock file does not exist or when that file is not locked. This is evidence that the \fBmaster\fR(8) daemon is not running. .IP \fB-v\fR Enable verbose logging for debugging purposes. This option is passed on to child processes. Multiple \fB-v\fR options make the software increasingly verbose. .PP Signals: .IP \fBSIGHUP\fR Upon receipt of a \fBHUP\fR signal (e.g., after "\fBpostfix reload\fR"), the master process re-reads its configuration files. If a service has been removed from the \fBmaster.cf\fR file, its running processes are terminated immediately. Otherwise, running processes are allowed to terminate as soon as is convenient, so that changes in configuration settings affect only new service requests. .IP \fBSIGTERM\fR Upon receipt of a \fBTERM\fR signal (e.g., after "\fBpostfix abort\fR"), the master process passes the signal on to its child processes and terminates. This is useful for an emergency shutdown. Normally one would terminate only the master ("\fBpostfix stop\fR") and allow running processes to finish what they are doing. .SH DIAGNOSTICS .ad .fi Problems are reported to \fBsyslogd\fR(8). .SH "ENVIRONMENT" .na .nf .ad .fi .IP \fBMAIL_DEBUG\fR After initialization, start a debugger as specified with the \fBdebugger_command\fR configuration parameter in the \fBmain.cf\fR configuration file. .IP \fBMAIL_CONFIG\fR Directory with Postfix configuration files. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi Unlike most Postfix daemon processes, the \fBmaster\fR(8) server does not automatically pick up changes to \fBmain.cf\fR. Changes to \fBmaster.cf\fR are never picked up automatically. Use the "\fBpostfix reload\fR" command after a configuration change. .SH "RESOURCE AND RATE CONTROLS" .na .nf .ad .fi .IP "\fBdefault_process_limit (100)\fR" The default maximal number of Postfix child processes that provide a given service. .IP "\fBmax_idle (100s)\fR" The maximum amount of time that an idle Postfix daemon process waits for an incoming connection before terminating voluntarily. .IP "\fBmax_use (100)\fR" The maximal number of incoming connections that a Postfix daemon process will service before terminating voluntarily. .IP "\fBservice_throttle_time (60s)\fR" How long the Postfix \fBmaster\fR(8) waits before forking a server that appears to be malfunctioning. .PP Available in Postfix version 2.6 and later: .IP "\fBmaster_service_disable (empty)\fR" Selectively disable \fBmaster\fR(8) listener ports by service type or by service name and type. .SH "MISCELLANEOUS CONTROLS" .na .nf .ad .fi .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBdaemon_directory (see 'postconf -d' output)\fR" The directory with Postfix support programs and daemon programs. .IP "\fBdebugger_command (empty)\fR" The external command to execute when a Postfix daemon program is invoked with the -D option. .IP "\fBinet_interfaces (all)\fR" The network interface addresses that this mail system receives mail on. .IP "\fBinet_protocols (all)\fR" The Internet protocols Postfix will attempt to use when making or accepting connections. .IP "\fBimport_environment (see 'postconf -d' output)\fR" The list of environment parameters that a Postfix process will import from a non-Postfix parent process. .IP "\fBmail_owner (postfix)\fR" The UNIX system account that owns the Postfix queue and most Postfix daemon processes. .IP "\fBprocess_id (read-only)\fR" The process ID of a Postfix command or daemon process. .IP "\fBprocess_name (read-only)\fR" The process name of a Postfix command or daemon process. .IP "\fBqueue_directory (see 'postconf -d' output)\fR" The location of the Postfix top-level queue directory. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .SH "FILES" .na .nf .ad .fi To expand the directory names below into their actual values, use the command "\fBpostconf config_directory\fR" etc. .na .nf $config_directory/main.cf, global configuration file. $config_directory/master.cf, master server configuration file. $queue_directory/pid/master.pid, master lock file. $data_directory/master.lock, master lock file. .SH "SEE ALSO" .na .nf qmgr(8), queue manager verify(8), address verification master(5), master.cf configuration file syntax postconf(5), main.cf configuration file syntax syslogd(8), system logging .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682e3000081a4000000000000000000000001513697a900001cac0000010000010031ffffffffffffffff0000002000000000root/usr/local/man/man8/anvil.8.TH ANVIL 8 .ad .fi .SH NAME anvil \- Postfix session count and request rate control .SH "SYNOPSIS" .na .nf \fBanvil\fR [generic Postfix daemon options] .SH DESCRIPTION .ad .fi The Postfix \fBanvil\fR(8) server maintains statistics about client connection counts or client request rates. This information can be used to defend against clients that hammer a server with either too many simultaneous sessions, or with too many successive requests within a configurable time interval. This server is designed to run under control by the Postfix \fBmaster\fR(8) server. In the following text, \fBident\fR specifies a (service, client) combination. The exact syntax of that information is application-dependent; the \fBanvil\fR(8) server does not care. .SH "CONNECTION COUNT/RATE CONTROL" .na .nf .ad .fi To register a new connection send the following request to the \fBanvil\fR(8) server: .nf \fBrequest=connect\fR \fBident=\fIstring\fR .fi The \fBanvil\fR(8) server answers with the number of simultaneous connections and the number of connections per unit time for the (service, client) combination specified with \fBident\fR: .nf \fBstatus=0\fR \fBcount=\fInumber\fR \fBrate=\fInumber\fR .fi To register a disconnect event send the following request to the \fBanvil\fR(8) server: .nf \fBrequest=disconnect\fR \fBident=\fIstring\fR .fi The \fBanvil\fR(8) server replies with: .nf \fBstatus=0\fR .fi .SH "MESSAGE RATE CONTROL" .na .nf .ad .fi To register a message delivery request send the following request to the \fBanvil\fR(8) server: .nf \fBrequest=message\fR \fBident=\fIstring\fR .fi The \fBanvil\fR(8) server answers with the number of message delivery requests per unit time for the (service, client) combination specified with \fBident\fR: .nf \fBstatus=0\fR \fBrate=\fInumber\fR .fi .SH "RECIPIENT RATE CONTROL" .na .nf .ad .fi To register a recipient request send the following request to the \fBanvil\fR(8) server: .nf \fBrequest=recipient\fR \fBident=\fIstring\fR .fi The \fBanvil\fR(8) server answers with the number of recipient addresses per unit time for the (service, client) combination specified with \fBident\fR: .nf \fBstatus=0\fR \fBrate=\fInumber\fR .fi .SH "TLS SESSION NEGOTIATION RATE CONTROL" .na .nf .ad .fi The features described in this section are available with Postfix 2.3 and later. To register a request for a new (i.e. not cached) TLS session send the following request to the \fBanvil\fR(8) server: .nf \fBrequest=newtls\fR \fBident=\fIstring\fR .fi The \fBanvil\fR(8) server answers with the number of new TLS session requests per unit time for the (service, client) combination specified with \fBident\fR: .nf \fBstatus=0\fR \fBrate=\fInumber\fR .fi To retrieve new TLS session request rate information without updating the counter information, send: .nf \fBrequest=newtls_report\fR \fBident=\fIstring\fR .fi The \fBanvil\fR(8) server answers with the number of new TLS session requests per unit time for the (service, client) combination specified with \fBident\fR: .nf \fBstatus=0\fR \fBrate=\fInumber\fR .fi .SH "SECURITY" .na .nf .ad .fi The \fBanvil\fR(8) server does not talk to the network or to local users, and can run chrooted at fixed low privilege. The \fBanvil\fR(8) server maintains an in-memory table with information about recent clients requests. No persistent state is kept because standard system library routines are not sufficiently robust for update-intensive applications. Although the in-memory state is kept only temporarily, this may require a lot of memory on systems that handle connections from many remote clients. To reduce memory usage, reduce the time unit over which state is kept. .SH DIAGNOSTICS .ad .fi Problems and transactions are logged to \fBsyslogd\fR(8). Upon exit, and every \fBanvil_status_update_time\fR seconds, the server logs the maximal count and rate values measured, together with (service, client) information and the time of day associated with those events. In order to avoid unnecessary overhead, no measurements are done for activity that isn't concurrency limited or rate limited. .SH BUGS .ad .fi Systems behind network address translating routers or proxies appear to have the same client address and can run into connection count and/or rate limits falsely. In this preliminary implementation, a count (or rate) limited server process can have only one remote client at a time. If a server process reports multiple simultaneous clients, state is kept only for the last reported client. The \fBanvil\fR(8) server automatically discards client request information after it expires. To prevent the \fBanvil\fR(8) server from discarding client request rate information too early or too late, a rate limited service should always register connect/disconnect events even when it does not explicitly limit them. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi On low-traffic mail systems, changes to \fBmain.cf\fR are picked up automatically as \fBanvil\fR(8) processes run for only a limited amount of time. On other mail systems, use the command "\fBpostfix reload\fR" to speed up a change. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. .IP "\fBanvil_rate_time_unit (60s)\fR" The time unit over which client connection rates and other rates are calculated. .IP "\fBanvil_status_update_time (600s)\fR" How frequently the \fBanvil\fR(8) connection and rate limiting server logs peak usage information. .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBdaemon_timeout (18000s)\fR" How much time a Postfix daemon process may take to handle a request before it is terminated by a built-in watchdog timer. .IP "\fBipc_timeout (3600s)\fR" The time limit for sending or receiving information over an internal communication channel. .IP "\fBmax_idle (100s)\fR" The maximum amount of time that an idle Postfix daemon process waits for an incoming connection before terminating voluntarily. .IP "\fBmax_use (100)\fR" The maximal number of incoming connections that a Postfix daemon process will service before terminating voluntarily. .IP "\fBprocess_id (read-only)\fR" The process ID of a Postfix command or daemon process. .IP "\fBprocess_name (read-only)\fR" The process name of a Postfix command or daemon process. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .SH "SEE ALSO" .na .nf smtpd(8), Postfix SMTP server postconf(5), configuration parameters master(5), generic daemon options .SH "README FILES" .na .nf .ad .fi Use "\fBpostconf readme_directory\fR" or "\fBpostconf html_directory\fR" to locate this information. .na .nf TUNING_README, performance tuning .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "HISTORY" .na .nf .ad .fi The anvil service is available in Postfix 2.2 and later. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682ee000081a4000000000000000000000001513697a90000348d0000010000010031ffffffffffffffff0000002000000000root/usr/local/man/man8/oqmgr.8.TH OQMGR 8 .ad .fi .SH NAME oqmgr \- old Postfix queue manager .SH "SYNOPSIS" .na .nf \fBoqmgr\fR [generic Postfix daemon options] .SH DESCRIPTION .ad .fi The \fBoqmgr\fR(8) daemon awaits the arrival of incoming mail and arranges for its delivery via Postfix delivery processes. The actual mail routing strategy is delegated to the \fBtrivial-rewrite\fR(8) daemon. This program expects to be run from the \fBmaster\fR(8) process manager. Mail addressed to the local \fBdouble-bounce\fR address is logged and discarded. This stops potential loops caused by undeliverable bounce notifications. .SH "MAIL QUEUES" .na .nf .ad .fi The \fBoqmgr\fR(8) daemon maintains the following queues: .IP \fBincoming\fR Inbound mail from the network, or mail picked up by the local \fBpickup\fR(8) agent from the \fBmaildrop\fR directory. .IP \fBactive\fR Messages that the queue manager has opened for delivery. Only a limited number of messages is allowed to enter the \fBactive\fR queue (leaky bucket strategy, for a fixed delivery rate). .IP \fBdeferred\fR Mail that could not be delivered upon the first attempt. The queue manager implements exponential backoff by doubling the time between delivery attempts. .IP \fBcorrupt\fR Unreadable or damaged queue files are moved here for inspection. .IP \fBhold\fR Messages that are kept "on hold" are kept here until someone sets them free. .SH "DELIVERY STATUS REPORTS" .na .nf .ad .fi The \fBoqmgr\fR(8) daemon keeps an eye on per-message delivery status reports in the following directories. Each status report file has the same name as the corresponding message file: .IP \fBbounce\fR Per-recipient status information about why mail is bounced. These files are maintained by the \fBbounce\fR(8) daemon. .IP \fBdefer\fR Per-recipient status information about why mail is delayed. These files are maintained by the \fBdefer\fR(8) daemon. .IP \fBtrace\fR Per-recipient status information as requested with the Postfix "\fBsendmail -v\fR" or "\fBsendmail -bv\fR" command. These files are maintained by the \fBtrace\fR(8) daemon. .PP The \fBoqmgr\fR(8) daemon is responsible for asking the \fBbounce\fR(8), \fBdefer\fR(8) or \fBtrace\fR(8) daemons to send delivery reports. .SH "STRATEGIES" .na .nf .ad .fi The queue manager implements a variety of strategies for either opening queue files (input) or for message delivery (output). .IP "\fBleaky bucket\fR" This strategy limits the number of messages in the \fBactive\fR queue and prevents the queue manager from running out of memory under heavy load. .IP \fBfairness\fR When the \fBactive\fR queue has room, the queue manager takes one message from the \fBincoming\fR queue and one from the \fBdeferred\fR queue. This prevents a large mail backlog from blocking the delivery of new mail. .IP "\fBslow start\fR" This strategy eliminates "thundering herd" problems by slowly adjusting the number of parallel deliveries to the same destination. .IP "\fBround robin\fR The queue manager sorts delivery requests by destination. Round-robin selection prevents one destination from dominating deliveries to other destinations. .IP "\fBexponential backoff\fR" Mail that cannot be delivered upon the first attempt is deferred. The time interval between delivery attempts is doubled after each attempt. .IP "\fBdestination status cache\fR" The queue manager avoids unnecessary delivery attempts by maintaining a short-term, in-memory list of unreachable destinations. .SH "TRIGGERS" .na .nf .ad .fi On an idle system, the queue manager waits for the arrival of trigger events, or it waits for a timer to go off. A trigger is a one-byte message. Depending on the message received, the queue manager performs one of the following actions (the message is followed by the symbolic constant used internally by the software): .IP "\fBD (QMGR_REQ_SCAN_DEFERRED)\fR" Start a deferred queue scan. If a deferred queue scan is already in progress, that scan will be restarted as soon as it finishes. .IP "\fBI (QMGR_REQ_SCAN_INCOMING)\fR" Start an incoming queue scan. If an incoming queue scan is already in progress, that scan will be restarted as soon as it finishes. .IP "\fBA (QMGR_REQ_SCAN_ALL)\fR" Ignore deferred queue file time stamps. The request affects the next deferred queue scan. .IP "\fBF (QMGR_REQ_FLUSH_DEAD)\fR" Purge all information about dead transports and destinations. .IP "\fBW (TRIGGER_REQ_WAKEUP)\fR" Wakeup call, This is used by the master server to instantiate servers that should not go away forever. The action is to start an incoming queue scan. .PP The \fBoqmgr\fR(8) daemon reads an entire buffer worth of triggers. Multiple identical trigger requests are collapsed into one, and trigger requests are sorted so that \fBA\fR and \fBF\fR precede \fBD\fR and \fBI\fR. Thus, in order to force a deferred queue run, one would request \fBA F D\fR; in order to notify the queue manager of the arrival of new mail one would request \fBI\fR. .SH "STANDARDS" .na .nf RFC 3463 (Enhanced status codes) RFC 3464 (Delivery status notifications) .SH "SECURITY" .na .nf .ad .fi The \fBoqmgr\fR(8) daemon is not security sensitive. It reads single-character messages from untrusted local users, and thus may be susceptible to denial of service attacks. The \fBoqmgr\fR(8) daemon does not talk to the outside world, and it can be run at fixed low privilege in a chrooted environment. .SH DIAGNOSTICS .ad .fi Problems and transactions are logged to the \fBsyslog\fR(8) daemon. Corrupted message files are saved to the \fBcorrupt\fR queue for further inspection. Depending on the setting of the \fBnotify_classes\fR parameter, the postmaster is notified of bounces and of other trouble. .SH BUGS .ad .fi A single queue manager process has to compete for disk access with multiple front-end processes such as \fBcleanup\fR(8). A sudden burst of inbound mail can negatively impact outbound delivery rates. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi Changes to \fBmain.cf\fR are not picked up automatically, as \fBoqmgr\fR(8) is a persistent process. Use the command "\fBpostfix reload\fR" after a configuration change. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. In the text below, \fItransport\fR is the first field in a \fBmaster.cf\fR entry. .SH "COMPATIBILITY CONTROLS" .na .nf .ad .fi Available before Postfix version 2.5: .IP "\fBallow_min_user (no)\fR" Allow a sender or recipient address to have `-' as the first character. .PP Available with Postfix version 2.7 and later: .IP "\fBdefault_filter_nexthop (empty)\fR" When a content_filter or FILTER request specifies no explicit next-hop destination, use $default_filter_nexthop instead; when that value is empty, use the domain in the recipient address. .SH "ACTIVE QUEUE CONTROLS" .na .nf .ad .fi .IP "\fBqmgr_clog_warn_time (300s)\fR" The minimal delay between warnings that a specific destination is clogging up the Postfix active queue. .IP "\fBqmgr_message_active_limit (20000)\fR" The maximal number of messages in the active queue. .IP "\fBqmgr_message_recipient_limit (20000)\fR" The maximal number of recipients held in memory by the Postfix queue manager, and the maximal size of the size of the short-term, in-memory "dead" destination status cache. .SH "DELIVERY CONCURRENCY CONTROLS" .na .nf .ad .fi .IP "\fBqmgr_fudge_factor (100)\fR" Obsolete feature: the percentage of delivery resources that a busy mail system will use up for delivery of a large mailing list message. .IP "\fBinitial_destination_concurrency (5)\fR" The initial per-destination concurrency level for parallel delivery to the same destination. .IP "\fBdefault_destination_concurrency_limit (20)\fR" The default maximal number of parallel deliveries to the same destination. .IP "\fItransport\fB_destination_concurrency_limit ($default_destination_concurrency_limit)\fR" Idem, for delivery via the named message \fItransport\fR. .PP Available in Postfix version 2.5 and later: .IP "\fItransport\fB_initial_destination_concurrency ($initial_destination_concurrency)\fR" Initial concurrency for delivery via the named message \fItransport\fR. .IP "\fBdefault_destination_concurrency_failed_cohort_limit (1)\fR" How many pseudo-cohorts must suffer connection or handshake failure before a specific destination is considered unavailable (and further delivery is suspended). .IP "\fItransport\fB_destination_concurrency_failed_cohort_limit ($default_destination_concurrency_failed_cohort_limit)\fR" Idem, for delivery via the named message \fItransport\fR. .IP "\fBdefault_destination_concurrency_negative_feedback (1)\fR" The per-destination amount of delivery concurrency negative feedback, after a delivery completes with a connection or handshake failure. .IP "\fItransport\fB_destination_concurrency_negative_feedback ($default_destination_concurrency_negative_feedback)\fR" Idem, for delivery via the named message \fItransport\fR. .IP "\fBdefault_destination_concurrency_positive_feedback (1)\fR" The per-destination amount of delivery concurrency positive feedback, after a delivery completes without connection or handshake failure. .IP "\fItransport\fB_destination_concurrency_positive_feedback ($default_destination_concurrency_positive_feedback)\fR" Idem, for delivery via the named message \fItransport\fR. .IP "\fBdestination_concurrency_feedback_debug (no)\fR" Make the queue manager's feedback algorithm verbose for performance analysis purposes. .SH "RECIPIENT SCHEDULING CONTROLS" .na .nf .ad .fi .IP "\fBdefault_destination_recipient_limit (50)\fR" The default maximal number of recipients per message delivery. .IP \fItransport\fB_destination_recipient_limit\fR Idem, for delivery via the named message \fItransport\fR. .SH "OTHER RESOURCE AND RATE CONTROLS" .na .nf .ad .fi .IP "\fBminimal_backoff_time (300s)\fR" The minimal time between attempts to deliver a deferred message; prior to Postfix 2.4 the default value was 1000s. .IP "\fBmaximal_backoff_time (4000s)\fR" The maximal time between attempts to deliver a deferred message. .IP "\fBmaximal_queue_lifetime (5d)\fR" The maximal time a message is queued before it is sent back as undeliverable. .IP "\fBqueue_run_delay (300s)\fR" The time between deferred queue scans by the queue manager; prior to Postfix 2.4 the default value was 1000s. .IP "\fBtransport_retry_time (60s)\fR" The time between attempts by the Postfix queue manager to contact a malfunctioning message delivery transport. .PP Available in Postfix version 2.1 and later: .IP "\fBbounce_queue_lifetime (5d)\fR" The maximal time a bounce message is queued before it is considered undeliverable. .PP Available in Postfix version 2.5 and later: .IP "\fBdefault_destination_rate_delay (0s)\fR" The default amount of delay that is inserted between individual deliveries to the same destination; with per-destination recipient limit > 1, a destination is a domain, otherwise it is a recipient. .IP "\fItransport\fB_destination_rate_delay $default_destination_rate_delay Idem, for delivery via the named message \fItransport\fR. .SH "SAFETY CONTROLS" .na .nf .ad .fi .IP "\fBqmgr_daemon_timeout (1000s)\fR" How much time a Postfix queue manager process may take to handle a request before it is terminated by a built-in watchdog timer. .IP "\fBqmgr_ipc_timeout (60s)\fR" The time limit for the queue manager to send or receive information over an internal communication channel. .SH "MISCELLANEOUS CONTROLS" .na .nf .ad .fi .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBdefer_transports (empty)\fR" The names of message delivery transports that should not deliver mail unless someone issues "\fBsendmail -q\fR" or equivalent. .IP "\fBdelay_logging_resolution_limit (2)\fR" The maximal number of digits after the decimal point when logging sub-second delay values. .IP "\fBhelpful_warnings (yes)\fR" Log warnings about problematic configuration settings, and provide helpful suggestions. .IP "\fBprocess_id (read-only)\fR" The process ID of a Postfix command or daemon process. .IP "\fBprocess_name (read-only)\fR" The process name of a Postfix command or daemon process. .IP "\fBqueue_directory (see 'postconf -d' output)\fR" The location of the Postfix top-level queue directory. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .SH "FILES" .na .nf /var/spool/postfix/incoming, incoming queue /var/spool/postfix/active, active queue /var/spool/postfix/deferred, deferred queue /var/spool/postfix/bounce, non-delivery status /var/spool/postfix/defer, non-delivery status /var/spool/postfix/trace, delivery status .SH "SEE ALSO" .na .nf trivial-rewrite(8), address routing bounce(8), delivery status reports postconf(5), configuration parameters master(5), generic daemon options master(8), process manager syslogd(8), system logging .SH "README FILES" .na .nf .ad .fi Use "\fBpostconf readme_directory\fR" or "\fBpostconf html_directory\fR" to locate this information. .na .nf QSHAPE_README, Postfix queue analysis .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682fe000081a4000000000000000000000001513697aa00001dcb0000010000010031ffffffffffffffff0000002100000000root/usr/local/man/man8/verify.8.TH VERIFY 8 .ad .fi .SH NAME verify \- Postfix address verification server .SH "SYNOPSIS" .na .nf \fBverify\fR [generic Postfix daemon options] .SH DESCRIPTION .ad .fi The \fBverify\fR(8) address verification server maintains a record of what recipient addresses are known to be deliverable or undeliverable. Addresses are verified by injecting probe messages into the Postfix queue. Probe messages are run through all the routing and rewriting machinery except for final delivery, and are discarded rather than being deferred or bounced. Address verification relies on the answer from the nearest MTA for the specified address, and will therefore not detect all undeliverable addresses. The \fBverify\fR(8) server is designed to run under control by the Postfix master server. It maintains an optional persistent database. To avoid being interrupted by "postfix stop" in the middle of a database update, the process runs in a separate process group. The \fBverify\fR(8) server implements the following requests: .IP "\fBupdate\fI address status text\fR" Update the status and text of the specified address. .IP "\fBquery\fI address\fR" Look up the \fIstatus\fR and \fItext\fR for the specified \fIaddress\fR. If the status is unknown, a probe is sent and an "in progress" status is returned. .SH "SECURITY" .na .nf .ad .fi The address verification server is not security-sensitive. It does not talk to the network, and it does not talk to local users. The verify server can run chrooted at fixed low privilege. The address verification server can be coerced to store unlimited amounts of garbage. Limiting the cache expiry time trades one problem (disk space exhaustion) for another one (poor response time to client requests). With Postfix version 2.5 and later, the \fBverify\fR(8) server no longer uses root privileges when opening the \fBaddress_verify_map\fR cache file. The file should now be stored under the Postfix-owned \fBdata_directory\fR. As a migration aid, an attempt to open a cache file under a non-Postfix directory is redirected to the Postfix-owned \fBdata_directory\fR, and a warning is logged. .SH DIAGNOSTICS .ad .fi Problems and transactions are logged to \fBsyslogd\fR(8). .SH BUGS .ad .fi Address verification probe messages add additional traffic to the mail queue. Recipient verification may cause an increased load on down-stream servers in the case of a dictionary attack or a flood of backscatter bounces. Sender address verification may cause your site to be blacklisted by some providers. If the persistent database ever gets corrupted then the world comes to an end and human intervention is needed. This violates a basic Postfix principle. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi Changes to \fBmain.cf\fR are not picked up automatically, as \fBverify\fR(8) processes are long-lived. Use the command "\fBpostfix reload\fR" after a configuration change. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. .SH "PROBE MESSAGE CONTROLS" .na .nf .ad .fi .IP "\fBaddress_verify_sender ($double_bounce_sender)\fR" The sender address to use in address verification probes; prior to Postfix 2.5 the default was "postmaster". .PP Available with Postfix 2.9 and later: .IP "\fBaddress_verify_sender_ttl (0s)\fR" The time between changes in the time-dependent portion of address verification probe sender addresses. .SH "CACHE CONTROLS" .na .nf .ad .fi .IP "\fBaddress_verify_map (see 'postconf -d' output)\fR" Lookup table for persistent address verification status storage. .IP "\fBaddress_verify_positive_expire_time (31d)\fR" The time after which a successful probe expires from the address verification cache. .IP "\fBaddress_verify_positive_refresh_time (7d)\fR" The time after which a successful address verification probe needs to be refreshed. .IP "\fBaddress_verify_negative_cache (yes)\fR" Enable caching of failed address verification probe results. .IP "\fBaddress_verify_negative_expire_time (3d)\fR" The time after which a failed probe expires from the address verification cache. .IP "\fBaddress_verify_negative_refresh_time (3h)\fR" The time after which a failed address verification probe needs to be refreshed. .PP Available with Postfix 2.7 and later: .IP "\fBaddress_verify_cache_cleanup_interval (12h)\fR" The amount of time between \fBverify\fR(8) address verification database cleanup runs. .SH "PROBE MESSAGE ROUTING CONTROLS" .na .nf .ad .fi By default, probe messages are delivered via the same route as regular messages. The following parameters can be used to override specific message routing mechanisms. .IP "\fBaddress_verify_relayhost ($relayhost)\fR" Overrides the relayhost parameter setting for address verification probes. .IP "\fBaddress_verify_transport_maps ($transport_maps)\fR" Overrides the transport_maps parameter setting for address verification probes. .IP "\fBaddress_verify_local_transport ($local_transport)\fR" Overrides the local_transport parameter setting for address verification probes. .IP "\fBaddress_verify_virtual_transport ($virtual_transport)\fR" Overrides the virtual_transport parameter setting for address verification probes. .IP "\fBaddress_verify_relay_transport ($relay_transport)\fR" Overrides the relay_transport parameter setting for address verification probes. .IP "\fBaddress_verify_default_transport ($default_transport)\fR" Overrides the default_transport parameter setting for address verification probes. .PP Available in Postfix 2.3 and later: .IP "\fBaddress_verify_sender_dependent_relayhost_maps ($sender_dependent_relayhost_maps)\fR" Overrides the sender_dependent_relayhost_maps parameter setting for address verification probes. .PP Available in Postfix 2.7 and later: .IP "\fBaddress_verify_sender_dependent_default_transport_maps ($sender_dependent_default_transport_maps)\fR" Overrides the sender_dependent_default_transport_maps parameter setting for address verification probes. .SH "MISCELLANEOUS CONTROLS" .na .nf .ad .fi .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBdaemon_timeout (18000s)\fR" How much time a Postfix daemon process may take to handle a request before it is terminated by a built-in watchdog timer. .IP "\fBipc_timeout (3600s)\fR" The time limit for sending or receiving information over an internal communication channel. .IP "\fBprocess_id (read-only)\fR" The process ID of a Postfix command or daemon process. .IP "\fBprocess_name (read-only)\fR" The process name of a Postfix command or daemon process. .IP "\fBqueue_directory (see 'postconf -d' output)\fR" The location of the Postfix top-level queue directory. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .SH "SEE ALSO" .na .nf smtpd(8), Postfix SMTP server cleanup(8), enqueue Postfix message postconf(5), configuration parameters syslogd(5), system logging .SH "README FILES" .na .nf .ad .fi Use "\fBpostconf readme_directory\fR" or "\fBpostconf html_directory\fR" to locate this information. .na .nf ADDRESS_VERIFICATION_README, address verification howto .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "HISTORY" .na .nf .ad .fi This service was introduced with Postfix version 2.1. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682f0000081a4000000000000000000000001513697a9000040c00000010000010031ffffffffffffffff0000001f00000000root/usr/local/man/man8/pipe.8.TH PIPE 8 .ad .fi .SH NAME pipe \- Postfix delivery to external command .SH "SYNOPSIS" .na .nf \fBpipe\fR [generic Postfix daemon options] command_attributes... .SH DESCRIPTION .ad .fi The \fBpipe\fR(8) daemon processes requests from the Postfix queue manager to deliver messages to external commands. This program expects to be run from the \fBmaster\fR(8) process manager. Message attributes such as sender address, recipient address and next-hop host name can be specified as command-line macros that are expanded before the external command is executed. The \fBpipe\fR(8) daemon updates queue files and marks recipients as finished, or it informs the queue manager that delivery should be tried again at a later time. Delivery status reports are sent to the \fBbounce\fR(8), \fBdefer\fR(8) or \fBtrace\fR(8) daemon as appropriate. .SH "SINGLE-RECIPIENT DELIVERY" .na .nf .ad .fi Some destinations cannot handle more than one recipient per delivery request. Examples are pagers or fax machines. In addition, multi-recipient delivery is undesirable when prepending a \fBDelivered-to:\fR or \fBX-Original-To:\fR message header. To prevent Postfix from sending multiple recipients per delivery request, specify .sp .nf \fItransport\fB_destination_recipient_limit = 1\fR .fi in the Postfix \fBmain.cf\fR file, where \fItransport\fR is the name in the first column of the Postfix \fBmaster.cf\fR entry for the pipe-based delivery transport. .SH "COMMAND ATTRIBUTE SYNTAX" .na .nf .ad .fi The external command attributes are given in the \fBmaster.cf\fR file at the end of a service definition. The syntax is as follows: .IP "\fBchroot=\fIpathname\fR (optional)" Change the process root directory and working directory to the named directory. This happens before switching to the privileges specified with the \fBuser\fR attribute, and before executing the optional \fBdirectory=\fIpathname\fR directive. Delivery is deferred in case of failure. .sp This feature is available as of Postfix 2.3. .IP "\fBdirectory=\fIpathname\fR (optional)" Change to the named directory before executing the external command. The directory must be accessible for the user specified with the \fBuser\fR attribute (see below). The default working directory is \fB$queue_directory\fR. Delivery is deferred in case of failure. .sp This feature is available as of Postfix 2.2. .IP "\fBeol=\fIstring\fR (optional, default: \fB\en\fR)" The output record delimiter. Typically one would use either \fB\er\en\fR or \fB\en\fR. The usual C-style backslash escape sequences are recognized: \fB\ea \eb \ef \en \er \et \ev \e\fIddd\fR (up to three octal digits) and \fB\e\e\fR. .IP "\fBflags=BDFORXhqu.>\fR (optional)" Optional message processing flags. By default, a message is copied unchanged. .RS .IP \fBB\fR Append a blank line at the end of each message. This is required by some mail user agents that recognize "\fBFrom \fR" lines only when preceded by a blank line. .IP \fBD\fR Prepend a "\fBDelivered-To: \fIrecipient\fR" message header with the envelope recipient address. Note: for this to work, the \fItransport\fB_destination_recipient_limit\fR must be 1 (see SINGLE-RECIPIENT DELIVERY above for details). .sp The \fBD\fR flag also enforces loop detection (Postfix 2.5 and later): if a message already contains a \fBDelivered-To:\fR header with the same recipient address, then the message is returned as undeliverable. The address comparison is case insensitive. .sp This feature is available as of Postfix 2.0. .IP \fBF\fR Prepend a "\fBFrom \fIsender time_stamp\fR" envelope header to the message content. This is expected by, for example, \fBUUCP\fR software. .IP \fBO\fR Prepend an "\fBX-Original-To: \fIrecipient\fR" message header with the recipient address as given to Postfix. Note: for this to work, the \fItransport\fB_destination_recipient_limit\fR must be 1 (see SINGLE-RECIPIENT DELIVERY above for details). .sp This feature is available as of Postfix 2.0. .IP \fBR\fR Prepend a \fBReturn-Path:\fR message header with the envelope sender address. .IP \fBX\fR Indicate that the external command performs final delivery. This flag affects the status reported in "success" DSN (delivery status notification) messages, and changes it from "relayed" into "delivered". .sp This feature is available as of Postfix 2.5. .IP \fBh\fR Fold the command-line \fB$original_recipient\fR and \fB$recipient\fR address domain part (text to the right of the right-most \fB@\fR character) to lower case; fold the entire command-line \fB$domain\fR and \fB$nexthop\fR host or domain information to lower case. This is recommended for delivery via \fBUUCP\fR. .IP \fBq\fR Quote white space and other special characters in the command-line \fB$sender\fR, \fB$original_recipient\fR and \fB$recipient\fR address localparts (text to the left of the right-most \fB@\fR character), according to an 8-bit transparent version of RFC 822. This is recommended for delivery via \fBUUCP\fR or \fBBSMTP\fR. .sp The result is compatible with the address parsing of command-line recipients by the Postfix \fBsendmail\fR(1) mail submission command. .sp The \fBq\fR flag affects only entire addresses, not the partial address information from the \fB$user\fR, \fB$extension\fR or \fB$mailbox\fR command-line macros. .IP \fBu\fR Fold the command-line \fB$original_recipient\fR and \fB$recipient\fR address localpart (text to the left of the right-most \fB@\fR character) to lower case. This is recommended for delivery via \fBUUCP\fR. .IP \fB.\fR Prepend "\fB.\fR" to lines starting with "\fB.\fR". This is needed by, for example, \fBBSMTP\fR software. .IP \fB>\fR Prepend "\fB>\fR" to lines starting with "\fBFrom \fR". This is expected by, for example, \fBUUCP\fR software. .RE .IP "\fBnull_sender\fR=\fIreplacement\fR (default: MAILER-DAEMON)" Replace the null sender address (typically used for delivery status notifications) with the specified text when expanding the \fB$sender\fR command-line macro, and when generating a From_ or Return-Path: message header. If the null sender replacement text is a non-empty string then it is affected by the \fBq\fR flag for address quoting in command-line arguments. The null sender replacement text may be empty; this form is recommended for content filters that feed mail back into Postfix. The empty sender address is not affected by the \fBq\fR flag for address quoting in command-line arguments. .sp Caution: a null sender address is easily mis-parsed by naive software. For example, when the \fBpipe\fR(8) daemon executes a command such as: .sp .nf \fIWrong\fR: command -f$sender -- $recipient .fi .IP the command will mis-parse the -f option value when the sender address is a null string. For correct parsing, specify \fB$sender\fR as an argument by itself: .sp .nf \fIRight\fR: command -f $sender -- $recipient .fi .IP This feature is available as of Postfix 2.3. .IP "\fBsize\fR=\fIsize_limit\fR (optional)" Don't deliver messages that exceed this size limit (in bytes); return them to the sender instead. .IP "\fBuser\fR=\fIusername\fR (required)" .IP "\fBuser\fR=\fIusername\fR:\fIgroupname\fR" Execute the external command with the user ID and group ID of the specified \fIusername\fR. The software refuses to execute commands with root privileges, or with the privileges of the mail system owner. If \fIgroupname\fR is specified, the corresponding group ID is used instead of the group ID of \fIusername\fR. .IP "\fBargv\fR=\fIcommand\fR... (required)" The command to be executed. This must be specified as the last command attribute. The command is executed directly, i.e. without interpretation of shell meta characters by a shell command interpreter. .sp In the command argument vector, the following macros are recognized and replaced with corresponding information from the Postfix queue manager delivery request. .sp In addition to the form ${\fIname\fR}, the forms $\fIname\fR and $(\fIname\fR) are also recognized. Specify \fB$$\fR where a single \fB$\fR is wanted. .RS .IP \fB${\fBclient_address\fR}\fR This macro expands to the remote client network address. .sp This feature is available as of Postfix 2.2. .IP \fB${\fBclient_helo\fR}\fR This macro expands to the remote client HELO command parameter. .sp This feature is available as of Postfix 2.2. .IP \fB${\fBclient_hostname\fR}\fR This macro expands to the remote client hostname. .sp This feature is available as of Postfix 2.2. .IP \fB${\fBclient_port\fR}\fR This macro expands to the remote client TCP port number. .sp This feature is available as of Postfix 2.5. .IP \fB${\fBclient_protocol\fR}\fR This macro expands to the remote client protocol. .sp This feature is available as of Postfix 2.2. .IP \fB${\fBdomain\fR}\fR This macro expands to the domain portion of the recipient address. For example, with an address \fIuser+foo@domain\fR the domain is \fIdomain\fR. .sp This information is modified by the \fBh\fR flag for case folding. .sp This feature is available as of Postfix 2.5. .IP \fB${\fBextension\fR}\fR This macro expands to the extension part of a recipient address. For example, with an address \fIuser+foo@domain\fR the extension is \fIfoo\fR. .sp A command-line argument that contains \fB${\fBextension\fR}\fR expands into as many command-line arguments as there are recipients. .sp This information is modified by the \fBu\fR flag for case folding. .IP \fB${\fBmailbox\fR}\fR This macro expands to the complete local part of a recipient address. For example, with an address \fIuser+foo@domain\fR the mailbox is \fIuser+foo\fR. .sp A command-line argument that contains \fB${\fBmailbox\fR}\fR expands to as many command-line arguments as there are recipients. .sp This information is modified by the \fBu\fR flag for case folding. .IP \fB${\fBnexthop\fR}\fR This macro expands to the next-hop hostname. .sp This information is modified by the \fBh\fR flag for case folding. .IP \fB${\fBoriginal_recipient\fR}\fR This macro expands to the complete recipient address before any address rewriting or aliasing. .sp A command-line argument that contains \fB${\fBoriginal_recipient\fR}\fR expands to as many command-line arguments as there are recipients. .sp This information is modified by the \fBhqu\fR flags for quoting and case folding. .sp This feature is available as of Postfix 2.5. .IP \fB${\fBrecipient\fR}\fR This macro expands to the complete recipient address. .sp A command-line argument that contains \fB${\fBrecipient\fR}\fR expands to as many command-line arguments as there are recipients. .sp This information is modified by the \fBhqu\fR flags for quoting and case folding. .IP \fB${\fBsasl_method\fR}\fR This macro expands to the name of the SASL authentication mechanism in the AUTH command when the Postfix SMTP server received the message. .sp This feature is available as of Postfix 2.2. .IP \fB${\fBsasl_sender\fR}\fR This macro expands to the SASL sender name (i.e. the original submitter as per RFC 4954) in the MAIL FROM command when the Postfix SMTP server received the message. .sp This feature is available as of Postfix 2.2. .IP \fB${\fBsasl_username\fR}\fR This macro expands to the SASL user name in the AUTH command when the Postfix SMTP server received the message. .sp This feature is available as of Postfix 2.2. .IP \fB${\fBsender\fR}\fR This macro expands to the envelope sender address. By default, the null sender address expands to MAILER-DAEMON; this can be changed with the \fBnull_sender\fR attribute, as described above. .sp This information is modified by the \fBq\fR flag for quoting. .IP \fB${\fBsize\fR}\fR This macro expands to Postfix's idea of the message size, which is an approximation of the size of the message as delivered. .IP \fB${\fBuser\fR}\fR This macro expands to the username part of a recipient address. For example, with an address \fIuser+foo@domain\fR the username part is \fIuser\fR. .sp A command-line argument that contains \fB${\fBuser\fR}\fR expands into as many command-line arguments as there are recipients. .sp This information is modified by the \fBu\fR flag for case folding. .RE .SH "STANDARDS" .na .nf RFC 3463 (Enhanced status codes) .SH DIAGNOSTICS .ad .fi Command exit status codes are expected to follow the conventions defined in <\fBsysexits.h\fR>. Exit status 0 means normal successful completion. In the case of a non-zero exit status, a limited amount of command output is reported in an delivery status notification. When the output begins with a 4.X.X or 5.X.X enhanced status code, the status code takes precedence over the non-zero exit status (Postfix version 2.3 and later). Problems and transactions are logged to \fBsyslogd\fR(8). Corrupted message files are marked so that the queue manager can move them to the \fBcorrupt\fR queue for further inspection. .SH "SECURITY" .na .nf .fi .ad This program needs a dual personality 1) to access the private Postfix queue and IPC mechanisms, and 2) to execute external commands as the specified user. It is therefore security sensitive. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi Changes to \fBmain.cf\fR are picked up automatically as \fBpipe\fR(8) processes run for only a limited amount of time. Use the command "\fBpostfix reload\fR" to speed up a change. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. .SH "RESOURCE AND RATE CONTROLS" .na .nf .ad .fi In the text below, \fItransport\fR is the first field in a \fBmaster.cf\fR entry. .IP "\fItransport\fB_destination_concurrency_limit ($default_destination_concurrency_limit)\fR" Limit the number of parallel deliveries to the same destination, for delivery via the named \fItransport\fR. The limit is enforced by the Postfix queue manager. .IP "\fItransport\fB_destination_recipient_limit ($default_destination_recipient_limit)\fR" Limit the number of recipients per message delivery, for delivery via the named \fItransport\fR. The limit is enforced by the Postfix queue manager. .IP "\fItransport\fB_time_limit ($command_time_limit)\fR" Limit the time for delivery to external command, for delivery via the named \fItransport\fR. The limit is enforced by the pipe delivery agent. Postfix 2.4 and later support a suffix that specifies the time unit: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is seconds. .SH "MISCELLANEOUS CONTROLS" .na .nf .ad .fi .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBdaemon_timeout (18000s)\fR" How much time a Postfix daemon process may take to handle a request before it is terminated by a built-in watchdog timer. .IP "\fBdelay_logging_resolution_limit (2)\fR" The maximal number of digits after the decimal point when logging sub-second delay values. .IP "\fBexport_environment (see 'postconf -d' output)\fR" The list of environment variables that a Postfix process will export to non-Postfix processes. .IP "\fBipc_timeout (3600s)\fR" The time limit for sending or receiving information over an internal communication channel. .IP "\fBmail_owner (postfix)\fR" The UNIX system account that owns the Postfix queue and most Postfix daemon processes. .IP "\fBmax_idle (100s)\fR" The maximum amount of time that an idle Postfix daemon process waits for an incoming connection before terminating voluntarily. .IP "\fBmax_use (100)\fR" The maximal number of incoming connections that a Postfix daemon process will service before terminating voluntarily. .IP "\fBprocess_id (read-only)\fR" The process ID of a Postfix command or daemon process. .IP "\fBprocess_name (read-only)\fR" The process name of a Postfix command or daemon process. .IP "\fBqueue_directory (see 'postconf -d' output)\fR" The location of the Postfix top-level queue directory. .IP "\fBrecipient_delimiter (empty)\fR" The separator between user names and address extensions (user+foo). .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .SH "SEE ALSO" .na .nf qmgr(8), queue manager bounce(8), delivery status reports postconf(5), configuration parameters master(5), generic daemon options master(8), process manager syslogd(8), system logging .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682f8000081a4000000000000000000000001513697aa0000b0f90000010000010031ffffffffffffffff0000002000000000root/usr/local/man/man8/smtpd.8.TH SMTPD 8 .ad .fi .SH NAME smtpd \- Postfix SMTP server .SH "SYNOPSIS" .na .nf \fBsmtpd\fR [generic Postfix daemon options] \fBsendmail -bs\fR .SH DESCRIPTION .ad .fi The SMTP server accepts network connection requests and performs zero or more SMTP transactions per connection. Each received message is piped through the \fBcleanup\fR(8) daemon, and is placed into the \fBincoming\fR queue as one single queue file. For this mode of operation, the program expects to be run from the \fBmaster\fR(8) process manager. Alternatively, the SMTP server be can run in stand-alone mode; this is traditionally obtained with "\fBsendmail -bs\fR". When the SMTP server runs stand-alone with non $\fBmail_owner\fR privileges, it receives mail even while the mail system is not running, deposits messages directly into the \fBmaildrop\fR queue, and disables the SMTP server's access policies. As of Postfix version 2.3, the SMTP server refuses to receive mail from the network when it runs with non $\fBmail_owner\fR privileges. The SMTP server implements a variety of policies for connection requests, and for parameters given to \fBHELO, ETRN, MAIL FROM, VRFY\fR and \fBRCPT TO\fR commands. They are detailed below and in the \fBmain.cf\fR configuration file. .SH "SECURITY" .na .nf .ad .fi The SMTP server is moderately security-sensitive. It talks to SMTP clients and to DNS servers on the network. The SMTP server can be run chrooted at fixed low privilege. .SH "STANDARDS" .na .nf RFC 821 (SMTP protocol) RFC 1123 (Host requirements) RFC 1652 (8bit-MIME transport) RFC 1869 (SMTP service extensions) RFC 1870 (Message size declaration) RFC 1985 (ETRN command) RFC 2034 (SMTP enhanced status codes) RFC 2554 (AUTH command) RFC 2821 (SMTP protocol) RFC 2920 (SMTP pipelining) RFC 3207 (STARTTLS command) RFC 3461 (SMTP DSN extension) RFC 3463 (Enhanced status codes) RFC 3848 (ESMTP transmission types) RFC 4409 (Message submission) RFC 4954 (AUTH command) .SH DIAGNOSTICS .ad .fi Problems and transactions are logged to \fBsyslogd\fR(8). Depending on the setting of the \fBnotify_classes\fR parameter, the postmaster is notified of bounces, protocol problems, policy violations, and of other trouble. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi Changes to \fBmain.cf\fR are picked up automatically, as \fBsmtpd\fR(8) processes run for only a limited amount of time. Use the command "\fBpostfix reload\fR" to speed up a change. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. .SH "COMPATIBILITY CONTROLS" .na .nf .ad .fi The following parameters work around implementation errors in other software, and/or allow you to override standards in order to prevent undesirable use. .ad .fi .IP "\fBbroken_sasl_auth_clients (no)\fR" Enable inter-operability with remote SMTP clients that implement an obsolete version of the AUTH command (RFC 4954). .IP "\fBdisable_vrfy_command (no)\fR" Disable the SMTP VRFY command. .IP "\fBsmtpd_noop_commands (empty)\fR" List of commands that the Postfix SMTP server replies to with "250 Ok", without doing any syntax checks and without changing state. .IP "\fBstrict_rfc821_envelopes (no)\fR" Require that addresses received in SMTP MAIL FROM and RCPT TO commands are enclosed with <>, and that those addresses do not contain RFC 822 style comments or phrases. .PP Available in Postfix version 2.1 and later: .IP "\fBresolve_null_domain (no)\fR" Resolve an address that ends in the "@" null domain as if the local hostname were specified, instead of rejecting the address as invalid. .IP "\fBsmtpd_reject_unlisted_sender (no)\fR" Request that the Postfix SMTP server rejects mail from unknown sender addresses, even when no explicit reject_unlisted_sender access restriction is specified. .IP "\fBsmtpd_sasl_exceptions_networks (empty)\fR" What remote SMTP clients the Postfix SMTP server will not offer AUTH support to. .PP Available in Postfix version 2.2 and later: .IP "\fBsmtpd_discard_ehlo_keyword_address_maps (empty)\fR" Lookup tables, indexed by the remote SMTP client address, with case insensitive lists of EHLO keywords (pipelining, starttls, auth, etc.) that the Postfix SMTP server will not send in the EHLO response to a remote SMTP client. .IP "\fBsmtpd_discard_ehlo_keywords (empty)\fR" A case insensitive list of EHLO keywords (pipelining, starttls, auth, etc.) that the Postfix SMTP server will not send in the EHLO response to a remote SMTP client. .IP "\fBsmtpd_delay_open_until_valid_rcpt (yes)\fR" Postpone the start of an SMTP mail transaction until a valid RCPT TO command is received. .PP Available in Postfix version 2.3 and later: .IP "\fBsmtpd_tls_always_issue_session_ids (yes)\fR" Force the Postfix SMTP server to issue a TLS session id, even when TLS session caching is turned off (smtpd_tls_session_cache_database is empty). .PP Available in Postfix version 2.6 and later: .IP "\fBtcp_windowsize (0)\fR" An optional workaround for routers that break TCP window scaling. .PP Available in Postfix version 2.7 and later: .IP "\fBsmtpd_command_filter (empty)\fR" A mechanism to transform commands from remote SMTP clients. .PP Available in Postfix version 2.9 and later: .IP "\fBsmtpd_per_record_deadline (normal: no, overload: yes)\fR" Change the behavior of the smtpd_timeout time limit, from a time limit per read or write system call, to a time limit to send or receive a complete record (an SMTP command line, SMTP response line, SMTP message content line, or TLS protocol message). .SH "ADDRESS REWRITING CONTROLS" .na .nf .ad .fi See the ADDRESS_REWRITING_README document for a detailed discussion of Postfix address rewriting. .IP "\fBreceive_override_options (empty)\fR" Enable or disable recipient validation, built-in content filtering, or address mapping. .PP Available in Postfix version 2.2 and later: .IP "\fBlocal_header_rewrite_clients (permit_inet_interfaces)\fR" Rewrite message header addresses in mail from these clients and update incomplete addresses with the domain name in $myorigin or $mydomain; either don't rewrite message headers from other clients at all, or rewrite message headers and update incomplete addresses with the domain specified in the remote_header_rewrite_domain parameter. .SH "AFTER QUEUE EXTERNAL CONTENT INSPECTION CONTROLS" .na .nf .ad .fi As of version 1.0, Postfix can be configured to send new mail to an external content filter AFTER the mail is queued. This content filter is expected to inject mail back into a (Postfix or other) MTA for further delivery. See the FILTER_README document for details. .IP "\fBcontent_filter (empty)\fR" After the message is queued, send the entire message to the specified \fItransport:destination\fR. .SH "BEFORE QUEUE EXTERNAL CONTENT INSPECTION CONTROLS" .na .nf .ad .fi As of version 2.1, the Postfix SMTP server can be configured to send incoming mail to a real-time SMTP-based content filter BEFORE mail is queued. This content filter is expected to inject mail back into Postfix. See the SMTPD_PROXY_README document for details on how to configure and operate this feature. .IP "\fBsmtpd_proxy_filter (empty)\fR" The hostname and TCP port of the mail filtering proxy server. .IP "\fBsmtpd_proxy_ehlo ($myhostname)\fR" How the Postfix SMTP server announces itself to the proxy filter. .IP "\fBsmtpd_proxy_options (empty)\fR" List of options that control how the Postfix SMTP server communicates with a before-queue content filter. .IP "\fBsmtpd_proxy_timeout (100s)\fR" The time limit for connecting to a proxy filter and for sending or receiving information. .SH "BEFORE QUEUE MILTER CONTROLS" .na .nf .ad .fi As of version 2.3, Postfix supports the Sendmail version 8 Milter (mail filter) protocol. These content filters run outside Postfix. They can inspect the SMTP command stream and the message content, and can request modifications before mail is queued. For details see the MILTER_README document. .IP "\fBsmtpd_milters (empty)\fR" A list of Milter (mail filter) applications for new mail that arrives via the Postfix \fBsmtpd\fR(8) server. .IP "\fBmilter_protocol (6)\fR" The mail filter protocol version and optional protocol extensions for communication with a Milter application; prior to Postfix 2.6 the default protocol is 2. .IP "\fBmilter_default_action (tempfail)\fR" The default action when a Milter (mail filter) application is unavailable or mis-configured. .IP "\fBmilter_macro_daemon_name ($myhostname)\fR" The {daemon_name} macro value for Milter (mail filter) applications. .IP "\fBmilter_macro_v ($mail_name $mail_version)\fR" The {v} macro value for Milter (mail filter) applications. .IP "\fBmilter_connect_timeout (30s)\fR" The time limit for connecting to a Milter (mail filter) application, and for negotiating protocol options. .IP "\fBmilter_command_timeout (30s)\fR" The time limit for sending an SMTP command to a Milter (mail filter) application, and for receiving the response. .IP "\fBmilter_content_timeout (300s)\fR" The time limit for sending message content to a Milter (mail filter) application, and for receiving the response. .IP "\fBmilter_connect_macros (see 'postconf -d' output)\fR" The macros that are sent to Milter (mail filter) applications after completion of an SMTP connection. .IP "\fBmilter_helo_macros (see 'postconf -d' output)\fR" The macros that are sent to Milter (mail filter) applications after the SMTP HELO or EHLO command. .IP "\fBmilter_mail_macros (see 'postconf -d' output)\fR" The macros that are sent to Milter (mail filter) applications after the SMTP MAIL FROM command. .IP "\fBmilter_rcpt_macros (see 'postconf -d' output)\fR" The macros that are sent to Milter (mail filter) applications after the SMTP RCPT TO command. .IP "\fBmilter_data_macros (see 'postconf -d' output)\fR" The macros that are sent to version 4 or higher Milter (mail filter) applications after the SMTP DATA command. .IP "\fBmilter_unknown_command_macros (see 'postconf -d' output)\fR" The macros that are sent to version 3 or higher Milter (mail filter) applications after an unknown SMTP command. .IP "\fBmilter_end_of_header_macros (see 'postconf -d' output)\fR" The macros that are sent to Milter (mail filter) applications after the end of the message header. .IP "\fBmilter_end_of_data_macros (see 'postconf -d' output)\fR" The macros that are sent to Milter (mail filter) applications after the message end-of-data. .SH "GENERAL CONTENT INSPECTION CONTROLS" .na .nf .ad .fi The following parameters are applicable for both built-in and external content filters. .PP Available in Postfix version 2.1 and later: .IP "\fBreceive_override_options (empty)\fR" Enable or disable recipient validation, built-in content filtering, or address mapping. .SH "EXTERNAL CONTENT INSPECTION CONTROLS" .na .nf .ad .fi The following parameters are applicable for both before-queue and after-queue content filtering. .PP Available in Postfix version 2.1 and later: .IP "\fBsmtpd_authorized_xforward_hosts (empty)\fR" What remote SMTP clients are allowed to use the XFORWARD feature. .SH "SASL AUTHENTICATION CONTROLS" .na .nf .ad .fi Postfix SASL support (RFC 4954) can be used to authenticate remote SMTP clients to the Postfix SMTP server, and to authenticate the Postfix SMTP client to a remote SMTP server. See the SASL_README document for details. .IP "\fBbroken_sasl_auth_clients (no)\fR" Enable inter-operability with remote SMTP clients that implement an obsolete version of the AUTH command (RFC 4954). .IP "\fBsmtpd_sasl_auth_enable (no)\fR" Enable SASL authentication in the Postfix SMTP server. .IP "\fBsmtpd_sasl_local_domain (empty)\fR" The name of the Postfix SMTP server's local SASL authentication realm. .IP "\fBsmtpd_sasl_security_options (noanonymous)\fR" Postfix SMTP server SASL security options; as of Postfix 2.3 the list of available features depends on the SASL server implementation that is selected with \fBsmtpd_sasl_type\fR. .IP "\fBsmtpd_sender_login_maps (empty)\fR" Optional lookup table with the SASL login names that own sender (MAIL FROM) addresses. .PP Available in Postfix version 2.1 and later: .IP "\fBsmtpd_sasl_exceptions_networks (empty)\fR" What remote SMTP clients the Postfix SMTP server will not offer AUTH support to. .PP Available in Postfix version 2.1 and 2.2: .IP "\fBsmtpd_sasl_application_name (smtpd)\fR" The application name that the Postfix SMTP server uses for SASL server initialization. .PP Available in Postfix version 2.3 and later: .IP "\fBsmtpd_sasl_authenticated_header (no)\fR" Report the SASL authenticated user name in the \fBsmtpd\fR(8) Received message header. .IP "\fBsmtpd_sasl_path (smtpd)\fR" Implementation-specific information that the Postfix SMTP server passes through to the SASL plug-in implementation that is selected with \fBsmtpd_sasl_type\fR. .IP "\fBsmtpd_sasl_type (cyrus)\fR" The SASL plug-in type that the Postfix SMTP server should use for authentication. .PP Available in Postfix version 2.5 and later: .IP "\fBcyrus_sasl_config_path (empty)\fR" Search path for Cyrus SASL application configuration files, currently used only to locate the $smtpd_sasl_path.conf file. .SH "STARTTLS SUPPORT CONTROLS" .na .nf .ad .fi Detailed information about STARTTLS configuration may be found in the TLS_README document. .IP "\fBsmtpd_tls_security_level (empty)\fR" The SMTP TLS security level for the Postfix SMTP server; when a non-empty value is specified, this overrides the obsolete parameters smtpd_use_tls and smtpd_enforce_tls. .IP "\fBsmtpd_sasl_tls_security_options ($smtpd_sasl_security_options)\fR" The SASL authentication security options that the Postfix SMTP server uses for TLS encrypted SMTP sessions. .IP "\fBsmtpd_starttls_timeout (see 'postconf -d' output)\fR" The time limit for Postfix SMTP server write and read operations during TLS startup and shutdown handshake procedures. .IP "\fBsmtpd_tls_CAfile (empty)\fR" A file containing (PEM format) CA certificates of root CAs trusted to sign either remote SMTP client certificates or intermediate CA certificates. .IP "\fBsmtpd_tls_CApath (empty)\fR" A directory containing (PEM format) CA certificates of root CAs trusted to sign either remote SMTP client certificates or intermediate CA certificates. .IP "\fBsmtpd_tls_always_issue_session_ids (yes)\fR" Force the Postfix SMTP server to issue a TLS session id, even when TLS session caching is turned off (smtpd_tls_session_cache_database is empty). .IP "\fBsmtpd_tls_ask_ccert (no)\fR" Ask a remote SMTP client for a client certificate. .IP "\fBsmtpd_tls_auth_only (no)\fR" When TLS encryption is optional in the Postfix SMTP server, do not announce or accept SASL authentication over unencrypted connections. .IP "\fBsmtpd_tls_ccert_verifydepth (9)\fR" The verification depth for remote SMTP client certificates. .IP "\fBsmtpd_tls_cert_file (empty)\fR" File with the Postfix SMTP server RSA certificate in PEM format. .IP "\fBsmtpd_tls_exclude_ciphers (empty)\fR" List of ciphers or cipher types to exclude from the SMTP server cipher list at all TLS security levels. .IP "\fBsmtpd_tls_dcert_file (empty)\fR" File with the Postfix SMTP server DSA certificate in PEM format. .IP "\fBsmtpd_tls_dh1024_param_file (empty)\fR" File with DH parameters that the Postfix SMTP server should use with EDH ciphers. .IP "\fBsmtpd_tls_dh512_param_file (empty)\fR" File with DH parameters that the Postfix SMTP server should use with EDH ciphers. .IP "\fBsmtpd_tls_dkey_file ($smtpd_tls_dcert_file)\fR" File with the Postfix SMTP server DSA private key in PEM format. .IP "\fBsmtpd_tls_key_file ($smtpd_tls_cert_file)\fR" File with the Postfix SMTP server RSA private key in PEM format. .IP "\fBsmtpd_tls_loglevel (0)\fR" Enable additional Postfix SMTP server logging of TLS activity. .IP "\fBsmtpd_tls_mandatory_ciphers (medium)\fR" The minimum TLS cipher grade that the Postfix SMTP server will use with mandatory TLS encryption. .IP "\fBsmtpd_tls_mandatory_exclude_ciphers (empty)\fR" Additional list of ciphers or cipher types to exclude from the Postfix SMTP server cipher list at mandatory TLS security levels. .IP "\fBsmtpd_tls_mandatory_protocols (!SSLv2)\fR" The SSL/TLS protocols accepted by the Postfix SMTP server with mandatory TLS encryption. .IP "\fBsmtpd_tls_received_header (no)\fR" Request that the Postfix SMTP server produces Received: message headers that include information about the protocol and cipher used, as well as the remote SMTP client CommonName and client certificate issuer CommonName. .IP "\fBsmtpd_tls_req_ccert (no)\fR" With mandatory TLS encryption, require a trusted remote SMTP client certificate in order to allow TLS connections to proceed. .IP "\fBsmtpd_tls_session_cache_database (empty)\fR" Name of the file containing the optional Postfix SMTP server TLS session cache. .IP "\fBsmtpd_tls_session_cache_timeout (3600s)\fR" The expiration time of Postfix SMTP server TLS session cache information. .IP "\fBsmtpd_tls_wrappermode (no)\fR" Run the Postfix SMTP server in the non-standard "wrapper" mode, instead of using the STARTTLS command. .IP "\fBtls_daemon_random_bytes (32)\fR" The number of pseudo-random bytes that an \fBsmtp\fR(8) or \fBsmtpd\fR(8) process requests from the \fBtlsmgr\fR(8) server in order to seed its internal pseudo random number generator (PRNG). .IP "\fBtls_high_cipherlist (ALL:!EXPORT:!LOW:!MEDIUM:+RC4:@STRENGTH)\fR" The OpenSSL cipherlist for "HIGH" grade ciphers. .IP "\fBtls_medium_cipherlist (ALL:!EXPORT:!LOW:+RC4:@STRENGTH)\fR" The OpenSSL cipherlist for "MEDIUM" or higher grade ciphers. .IP "\fBtls_low_cipherlist (ALL:!EXPORT:+RC4:@STRENGTH)\fR" The OpenSSL cipherlist for "LOW" or higher grade ciphers. .IP "\fBtls_export_cipherlist (ALL:+RC4:@STRENGTH)\fR" The OpenSSL cipherlist for "EXPORT" or higher grade ciphers. .IP "\fBtls_null_cipherlist (eNULL:!aNULL)\fR" The OpenSSL cipherlist for "NULL" grade ciphers that provide authentication without encryption. .PP Available in Postfix version 2.5 and later: .IP "\fBsmtpd_tls_fingerprint_digest (md5)\fR" The message digest algorithm to construct remote SMTP client-certificate fingerprints or public key fingerprints (Postfix 2.9 and later) for \fBcheck_ccert_access\fR and \fBpermit_tls_clientcerts\fR. .PP Available in Postfix version 2.6 and later: .IP "\fBsmtpd_tls_protocols (empty)\fR" List of TLS protocols that the Postfix SMTP server will exclude or include with opportunistic TLS encryption. .IP "\fBsmtpd_tls_ciphers (export)\fR" The minimum TLS cipher grade that the Postfix SMTP server will use with opportunistic TLS encryption. .IP "\fBsmtpd_tls_eccert_file (empty)\fR" File with the Postfix SMTP server ECDSA certificate in PEM format. .IP "\fBsmtpd_tls_eckey_file ($smtpd_tls_eccert_file)\fR" File with the Postfix SMTP server ECDSA private key in PEM format. .IP "\fBsmtpd_tls_eecdh_grade (see 'postconf -d' output)\fR" The Postfix SMTP server security grade for ephemeral elliptic-curve Diffie-Hellman (EECDH) key exchange. .IP "\fBtls_eecdh_strong_curve (prime256v1)\fR" The elliptic curve used by the Postfix SMTP server for sensibly strong ephemeral ECDH key exchange. .IP "\fBtls_eecdh_ultra_curve (secp384r1)\fR" The elliptic curve used by the Postfix SMTP server for maximally strong ephemeral ECDH key exchange. .PP Available in Postfix version 2.8 and later: .IP "\fBtls_preempt_cipherlist (no)\fR" With SSLv3 and later, use the Postfix SMTP server's cipher preference order instead of the remote client's cipher preference order. .IP "\fBtls_disable_workarounds (see 'postconf -d' output)\fR" List or bit-mask of OpenSSL bug work-arounds to disable. .SH "OBSOLETE STARTTLS CONTROLS" .na .nf .ad .fi The following configuration parameters exist for compatibility with Postfix versions before 2.3. Support for these will be removed in a future release. .IP "\fBsmtpd_use_tls (no)\fR" Opportunistic TLS: announce STARTTLS support to remote SMTP clients, but do not require that clients use TLS encryption. .IP "\fBsmtpd_enforce_tls (no)\fR" Mandatory TLS: announce STARTTLS support to remote SMTP clients, and require that clients use TLS encryption. .IP "\fBsmtpd_tls_cipherlist (empty)\fR" Obsolete Postfix < 2.3 control for the Postfix SMTP server TLS cipher list. .SH "VERP SUPPORT CONTROLS" .na .nf .ad .fi With VERP style delivery, each recipient of a message receives a customized copy of the message with his/her own recipient address encoded in the envelope sender address. The VERP_README file describes configuration and operation details of Postfix support for variable envelope return path addresses. VERP style delivery is requested with the SMTP XVERP command or with the "sendmail -V" command-line option and is available in Postfix version 1.1 and later. .IP "\fBdefault_verp_delimiters (+=)\fR" The two default VERP delimiter characters. .IP "\fBverp_delimiter_filter (-=+)\fR" The characters Postfix accepts as VERP delimiter characters on the Postfix \fBsendmail\fR(1) command line and in SMTP commands. .PP Available in Postfix version 1.1 and 2.0: .IP "\fBauthorized_verp_clients ($mynetworks)\fR" What remote SMTP clients are allowed to specify the XVERP command. .PP Available in Postfix version 2.1 and later: .IP "\fBsmtpd_authorized_verp_clients ($authorized_verp_clients)\fR" What remote SMTP clients are allowed to specify the XVERP command. .SH "TROUBLE SHOOTING CONTROLS" .na .nf .ad .fi The DEBUG_README document describes how to debug parts of the Postfix mail system. The methods vary from making the software log a lot of detail, to running some daemon processes under control of a call tracer or debugger. .IP "\fBdebug_peer_level (2)\fR" The increment in verbose logging level when a remote client or server matches a pattern in the debug_peer_list parameter. .IP "\fBdebug_peer_list (empty)\fR" 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. .IP "\fBerror_notice_recipient (postmaster)\fR" The recipient of postmaster notifications about mail delivery problems that are caused by policy, resource, software or protocol errors. .IP "\fBinternal_mail_filter_classes (empty)\fR" What categories of Postfix-generated mail are subject to before-queue content inspection by non_smtpd_milters, header_checks and body_checks. .IP "\fBnotify_classes (resource, software)\fR" The list of error classes that are reported to the postmaster. .IP "\fBsmtpd_reject_footer (empty)\fR" Optional information that is appended after each Postfix SMTP server 4XX or 5XX response. .IP "\fBsoft_bounce (no)\fR" Safety net to keep mail queued that would otherwise be returned to the sender. .PP Available in Postfix version 2.1 and later: .IP "\fBsmtpd_authorized_xclient_hosts (empty)\fR" What remote SMTP clients are allowed to use the XCLIENT feature. .SH "KNOWN VERSUS UNKNOWN RECIPIENT CONTROLS" .na .nf .ad .fi As of Postfix version 2.0, the SMTP server rejects mail for unknown recipients. This prevents the mail queue from clogging up with undeliverable MAILER-DAEMON messages. Additional information on this topic is in the LOCAL_RECIPIENT_README and ADDRESS_CLASS_README documents. .IP "\fBshow_user_unknown_table_name (yes)\fR" Display the name of the recipient table in the "User unknown" responses. .IP "\fBcanonical_maps (empty)\fR" Optional address mapping lookup tables for message headers and envelopes. .IP "\fBrecipient_canonical_maps (empty)\fR" Optional address mapping lookup tables for envelope and header recipient addresses. .PP Parameters concerning known/unknown local recipients: .IP "\fBmydestination ($myhostname, localhost.$mydomain, localhost)\fR" The list of domains that are delivered via the $local_transport mail delivery transport. .IP "\fBinet_interfaces (all)\fR" The network interface addresses that this mail system receives mail on. .IP "\fBproxy_interfaces (empty)\fR" The network interface addresses that this mail system receives mail on by way of a proxy or network address translation unit. .IP "\fBinet_protocols (all)\fR" The Internet protocols Postfix will attempt to use when making or accepting connections. .IP "\fBlocal_recipient_maps (proxy:unix:passwd.byname $alias_maps)\fR" Lookup tables with all names or addresses of local recipients: a recipient address is local when its domain matches $mydestination, $inet_interfaces or $proxy_interfaces. .IP "\fBunknown_local_recipient_reject_code (550)\fR" The numerical Postfix SMTP server response code when a recipient address is local, and $local_recipient_maps specifies a list of lookup tables that does not match the recipient. .PP Parameters concerning known/unknown recipients of relay destinations: .IP "\fBrelay_domains ($mydestination)\fR" What destination domains (and subdomains thereof) this system will relay mail to. .IP "\fBrelay_recipient_maps (empty)\fR" Optional lookup tables with all valid addresses in the domains that match $relay_domains. .IP "\fBunknown_relay_recipient_reject_code (550)\fR" The numerical Postfix SMTP server reply code when a recipient address matches $relay_domains, and relay_recipient_maps specifies a list of lookup tables that does not match the recipient address. .PP Parameters concerning known/unknown recipients in virtual alias domains: .IP "\fBvirtual_alias_domains ($virtual_alias_maps)\fR" Postfix is final destination for the specified list of virtual alias domains, that is, domains for which all addresses are aliased to addresses in other local or remote domains. .IP "\fBvirtual_alias_maps ($virtual_maps)\fR" Optional lookup tables that alias specific mail addresses or domains to other local or remote address. .IP "\fBunknown_virtual_alias_reject_code (550)\fR" The Postfix SMTP server reply code when a recipient address matches $virtual_alias_domains, and $virtual_alias_maps specifies a list of lookup tables that does not match the recipient address. .PP Parameters concerning known/unknown recipients in virtual mailbox domains: .IP "\fBvirtual_mailbox_domains ($virtual_mailbox_maps)\fR" Postfix is final destination for the specified list of domains; mail is delivered via the $virtual_transport mail delivery transport. .IP "\fBvirtual_mailbox_maps (empty)\fR" Optional lookup tables with all valid addresses in the domains that match $virtual_mailbox_domains. .IP "\fBunknown_virtual_mailbox_reject_code (550)\fR" The Postfix SMTP server reply code when a recipient address matches $virtual_mailbox_domains, and $virtual_mailbox_maps specifies a list of lookup tables that does not match the recipient address. .SH "RESOURCE AND RATE CONTROLS" .na .nf .ad .fi The following parameters limit resource usage by the SMTP server and/or control client request rates. .IP "\fBline_length_limit (2048)\fR" Upon input, long lines are chopped up into pieces of at most this length; upon delivery, long lines are reconstructed. .IP "\fBqueue_minfree (0)\fR" The minimal amount of free space in bytes in the queue file system that is needed to receive mail. .IP "\fBmessage_size_limit (10240000)\fR" The maximal size in bytes of a message, including envelope information. .IP "\fBsmtpd_recipient_limit (1000)\fR" The maximal number of recipients that the Postfix SMTP server accepts per message delivery request. .IP "\fBsmtpd_timeout (normal: 300s, overload: 10s)\fR" The time limit for sending a Postfix SMTP server response and for receiving a remote SMTP client request. .IP "\fBsmtpd_history_flush_threshold (100)\fR" The maximal number of lines in the Postfix SMTP server command history before it is flushed upon receipt of EHLO, RSET, or end of DATA. .PP Available in Postfix version 2.3 and later: .IP "\fBsmtpd_peername_lookup (yes)\fR" Attempt to look up the remote SMTP client hostname, and verify that the name matches the client IP address. .PP The per SMTP client connection count and request rate limits are implemented in co-operation with the \fBanvil\fR(8) service, and are available in Postfix version 2.2 and later. .IP "\fBsmtpd_client_connection_count_limit (50)\fR" How many simultaneous connections any client is allowed to make to this service. .IP "\fBsmtpd_client_connection_rate_limit (0)\fR" The maximal number of connection attempts any client is allowed to make to this service per time unit. .IP "\fBsmtpd_client_message_rate_limit (0)\fR" The maximal number of message delivery requests that any client is allowed to make to this service per time unit, regardless of whether or not Postfix actually accepts those messages. .IP "\fBsmtpd_client_recipient_rate_limit (0)\fR" The maximal number of recipient addresses that any client is allowed to send to this service per time unit, regardless of whether or not Postfix actually accepts those recipients. .IP "\fBsmtpd_client_event_limit_exceptions ($mynetworks)\fR" Clients that are excluded from smtpd_client_*_count/rate_limit restrictions. .PP Available in Postfix version 2.3 and later: .IP "\fBsmtpd_client_new_tls_session_rate_limit (0)\fR" The maximal number of new (i.e., uncached) TLS sessions that a remote SMTP client is allowed to negotiate with this service per time unit. .PP Available in Postfix version 2.9 and later: .IP "\fBsmtpd_per_record_deadline (normal: no, overload: yes)\fR" Change the behavior of the smtpd_timeout time limit, from a time limit per read or write system call, to a time limit to send or receive a complete record (an SMTP command line, SMTP response line, SMTP message content line, or TLS protocol message). .SH "TARPIT CONTROLS" .na .nf .ad .fi When a remote SMTP client makes errors, the Postfix SMTP server can insert delays before responding. This can help to slow down run-away software. The behavior is controlled by an error counter that counts the number of errors within an SMTP session that a client makes without delivering mail. .IP "\fBsmtpd_error_sleep_time (1s)\fR" With Postfix version 2.1 and later: the SMTP server response delay after a client has made more than $smtpd_soft_error_limit errors, and fewer than $smtpd_hard_error_limit errors, without delivering mail. .IP "\fBsmtpd_soft_error_limit (10)\fR" The number of errors a remote SMTP client is allowed to make without delivering mail before the Postfix SMTP server slows down all its responses. .IP "\fBsmtpd_hard_error_limit (normal: 20, overload: 1)\fR" The maximal number of errors a remote SMTP client is allowed to make without delivering mail. .IP "\fBsmtpd_junk_command_limit (normal: 100, overload: 1)\fR" The number of junk commands (NOOP, VRFY, ETRN or RSET) that a remote SMTP client can send before the Postfix SMTP server starts to increment the error counter with each junk command. .PP Available in Postfix version 2.1 and later: .IP "\fBsmtpd_recipient_overshoot_limit (1000)\fR" The number of recipients that a remote SMTP client can send in excess of the limit specified with $smtpd_recipient_limit, before the Postfix SMTP server increments the per-session error count for each excess recipient. .SH "ACCESS POLICY DELEGATION CONTROLS" .na .nf .ad .fi As of version 2.1, Postfix can be configured to delegate access policy decisions to an external server that runs outside Postfix. See the file SMTPD_POLICY_README for more information. .IP "\fBsmtpd_policy_service_max_idle (300s)\fR" The time after which an idle SMTPD policy service connection is closed. .IP "\fBsmtpd_policy_service_max_ttl (1000s)\fR" The time after which an active SMTPD policy service connection is closed. .IP "\fBsmtpd_policy_service_timeout (100s)\fR" The time limit for connecting to, writing to or receiving from a delegated SMTPD policy server. .SH "ACCESS CONTROLS" .na .nf .ad .fi The SMTPD_ACCESS_README document gives an introduction to all the SMTP server access control features. .IP "\fBsmtpd_delay_reject (yes)\fR" Wait until the RCPT TO command before evaluating $smtpd_client_restrictions, $smtpd_helo_restrictions and $smtpd_sender_restrictions, or wait until the ETRN command before evaluating $smtpd_client_restrictions and $smtpd_helo_restrictions. .IP "\fBparent_domain_matches_subdomains (see 'postconf -d' output)\fR" What Postfix features match subdomains of "domain.tld" automatically, instead of requiring an explicit ".domain.tld" pattern. .IP "\fBsmtpd_client_restrictions (empty)\fR" Optional Postfix SMTP server access restrictions in the context of a remote SMTP client connection request. .IP "\fBsmtpd_helo_required (no)\fR" Require that a remote SMTP client introduces itself with the HELO or EHLO command before sending the MAIL command or other commands that require EHLO negotiation. .IP "\fBsmtpd_helo_restrictions (empty)\fR" Optional restrictions that the Postfix SMTP server applies in the context of the SMTP HELO command. .IP "\fBsmtpd_sender_restrictions (empty)\fR" Optional restrictions that the Postfix SMTP server applies in the context of the MAIL FROM command. .IP "\fBsmtpd_recipient_restrictions (permit_mynetworks, reject_unauth_destination)\fR" The access restrictions that the Postfix SMTP server applies in the context of the RCPT TO command. .IP "\fBsmtpd_etrn_restrictions (empty)\fR" Optional SMTP server access restrictions in the context of a client ETRN request. .IP "\fBallow_untrusted_routing (no)\fR" Forward mail with sender-specified routing (user[@%!]remote[@%!]site) from untrusted clients to destinations matching $relay_domains. .IP "\fBsmtpd_restriction_classes (empty)\fR" User-defined aliases for groups of access restrictions. .IP "\fBsmtpd_null_access_lookup_key (<>)\fR" The lookup key to be used in SMTP \fBaccess\fR(5) tables instead of the null sender address. .IP "\fBpermit_mx_backup_networks (empty)\fR" Restrict the use of the permit_mx_backup SMTP access feature to only domains whose primary MX hosts match the listed networks. .PP Available in Postfix version 2.0 and later: .IP "\fBsmtpd_data_restrictions (empty)\fR" Optional access restrictions that the Postfix SMTP server applies in the context of the SMTP DATA command. .IP "\fBsmtpd_expansion_filter (see 'postconf -d' output)\fR" What characters are allowed in $name expansions of RBL reply templates. .PP Available in Postfix version 2.1 and later: .IP "\fBsmtpd_reject_unlisted_sender (no)\fR" Request that the Postfix SMTP server rejects mail from unknown sender addresses, even when no explicit reject_unlisted_sender access restriction is specified. .IP "\fBsmtpd_reject_unlisted_recipient (yes)\fR" Request that the Postfix SMTP server rejects mail for unknown recipient addresses, even when no explicit reject_unlisted_recipient access restriction is specified. .PP Available in Postfix version 2.2 and later: .IP "\fBsmtpd_end_of_data_restrictions (empty)\fR" Optional access restrictions that the Postfix SMTP server applies in the context of the SMTP END-OF-DATA command. .SH "SENDER AND RECIPIENT ADDRESS VERIFICATION CONTROLS" .na .nf .ad .fi Postfix version 2.1 introduces sender and recipient address verification. This feature is implemented by sending probe email messages that are not actually delivered. This feature is requested via the reject_unverified_sender and reject_unverified_recipient access restrictions. The status of verification probes is maintained by the \fBverify\fR(8) server. See the file ADDRESS_VERIFICATION_README for information about how to configure and operate the Postfix sender/recipient address verification service. .IP "\fBaddress_verify_poll_count (normal: 3, overload: 1)\fR" How many times to query the \fBverify\fR(8) service for the completion of an address verification request in progress. .IP "\fBaddress_verify_poll_delay (3s)\fR" The delay between queries for the completion of an address verification request in progress. .IP "\fBaddress_verify_sender ($double_bounce_sender)\fR" The sender address to use in address verification probes; prior to Postfix 2.5 the default was "postmaster". .IP "\fBunverified_sender_reject_code (450)\fR" The numerical Postfix SMTP server response code when a recipient address is rejected by the reject_unverified_sender restriction. .IP "\fBunverified_recipient_reject_code (450)\fR" The numerical Postfix SMTP server response when a recipient address is rejected by the reject_unverified_recipient restriction. .PP Available in Postfix version 2.6 and later: .IP "\fBunverified_sender_defer_code (450)\fR" The numerical Postfix SMTP server response code when a sender address probe fails due to a temporary error condition. .IP "\fBunverified_recipient_defer_code (450)\fR" The numerical Postfix SMTP server response when a recipient address probe fails due to a temporary error condition. .IP "\fBunverified_sender_reject_reason (empty)\fR" The Postfix SMTP server's reply when rejecting mail with reject_unverified_sender. .IP "\fBunverified_recipient_reject_reason (empty)\fR" The Postfix SMTP server's reply when rejecting mail with reject_unverified_recipient. .IP "\fBunverified_sender_tempfail_action ($reject_tempfail_action)\fR" The Postfix SMTP server's action when reject_unverified_sender fails due to a temporary error condition. .IP "\fBunverified_recipient_tempfail_action ($reject_tempfail_action)\fR" The Postfix SMTP server's action when reject_unverified_recipient fails due to a temporary error condition. .PP Available with Postfix 2.9 and later: .IP "\fBaddress_verify_sender_ttl (0s)\fR" The time between changes in the time-dependent portion of address verification probe sender addresses. .SH "ACCESS CONTROL RESPONSES" .na .nf .ad .fi The following parameters control numerical SMTP reply codes and/or text responses. .IP "\fBaccess_map_reject_code (554)\fR" The numerical Postfix SMTP server response code for an \fBaccess\fR(5) map "reject" action. .IP "\fBdefer_code (450)\fR" The numerical Postfix SMTP server response code when a remote SMTP client request is rejected by the "defer" restriction. .IP "\fBinvalid_hostname_reject_code (501)\fR" The numerical Postfix SMTP server response code when the client HELO or EHLO command parameter is rejected by the reject_invalid_helo_hostname restriction. .IP "\fBmaps_rbl_reject_code (554)\fR" The numerical Postfix SMTP server response code when a remote SMTP client request is blocked by the reject_rbl_client, reject_rhsbl_client, reject_rhsbl_reverse_client, reject_rhsbl_sender or reject_rhsbl_recipient restriction. .IP "\fBnon_fqdn_reject_code (504)\fR" The numerical Postfix SMTP server reply code when a client request is rejected by the reject_non_fqdn_helo_hostname, reject_non_fqdn_sender or reject_non_fqdn_recipient restriction. .IP "\fBplaintext_reject_code (450)\fR" The numerical Postfix SMTP server response code when a request is rejected by the \fBreject_plaintext_session\fR restriction. .IP "\fBreject_code (554)\fR" The numerical Postfix SMTP server response code when a remote SMTP client request is rejected by the "reject" restriction. .IP "\fBrelay_domains_reject_code (554)\fR" The numerical Postfix SMTP server response code when a client request is rejected by the reject_unauth_destination recipient restriction. .IP "\fBunknown_address_reject_code (450)\fR" The numerical Postfix SMTP server response code when a sender or recipient address is rejected by the reject_unknown_sender_domain or reject_unknown_recipient_domain restriction. .IP "\fBunknown_client_reject_code (450)\fR" The numerical Postfix SMTP server response code when a client without valid address <=> name mapping is rejected by the reject_unknown_client_hostname restriction. .IP "\fBunknown_hostname_reject_code (450)\fR" The numerical Postfix SMTP server response code when the hostname specified with the HELO or EHLO command is rejected by the reject_unknown_helo_hostname restriction. .PP Available in Postfix version 2.0 and later: .IP "\fBdefault_rbl_reply (see 'postconf -d' output)\fR" The default Postfix SMTP server response template for a request that is rejected by an RBL-based restriction. .IP "\fBmulti_recipient_bounce_reject_code (550)\fR" The numerical Postfix SMTP server response code when a remote SMTP client request is blocked by the reject_multi_recipient_bounce restriction. .IP "\fBrbl_reply_maps (empty)\fR" Optional lookup tables with RBL response templates. .PP Available in Postfix version 2.6 and later: .IP "\fBaccess_map_defer_code (450)\fR" The numerical Postfix SMTP server response code for an \fBaccess\fR(5) map "defer" action, including "defer_if_permit" or "defer_if_reject". .IP "\fBreject_tempfail_action (defer_if_permit)\fR" The Postfix SMTP server's action when a reject-type restriction fails due to a temporary error condition. .IP "\fBunknown_helo_hostname_tempfail_action ($reject_tempfail_action)\fR" The Postfix SMTP server's action when reject_unknown_helo_hostname fails due to an temporary error condition. .IP "\fBunknown_address_tempfail_action ($reject_tempfail_action)\fR" The Postfix SMTP server's action when reject_unknown_sender_domain or reject_unknown_recipient_domain fail due to a temporary error condition. .SH "MISCELLANEOUS CONTROLS" .na .nf .ad .fi .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBdaemon_timeout (18000s)\fR" How much time a Postfix daemon process may take to handle a request before it is terminated by a built-in watchdog timer. .IP "\fBcommand_directory (see 'postconf -d' output)\fR" The location of all postfix administrative commands. .IP "\fBdouble_bounce_sender (double-bounce)\fR" The sender address of postmaster notifications that are generated by the mail system. .IP "\fBipc_timeout (3600s)\fR" The time limit for sending or receiving information over an internal communication channel. .IP "\fBmail_name (Postfix)\fR" The mail system name that is displayed in Received: headers, in the SMTP greeting banner, and in bounced mail. .IP "\fBmail_owner (postfix)\fR" The UNIX system account that owns the Postfix queue and most Postfix daemon processes. .IP "\fBmax_idle (100s)\fR" The maximum amount of time that an idle Postfix daemon process waits for an incoming connection before terminating voluntarily. .IP "\fBmax_use (100)\fR" The maximal number of incoming connections that a Postfix daemon process will service before terminating voluntarily. .IP "\fBmyhostname (see 'postconf -d' output)\fR" The internet hostname of this mail system. .IP "\fBmynetworks (see 'postconf -d' output)\fR" The list of "trusted" remote SMTP clients that have more privileges than "strangers". .IP "\fBmyorigin ($myhostname)\fR" The domain name that locally-posted mail appears to come from, and that locally posted mail is delivered to. .IP "\fBprocess_id (read-only)\fR" The process ID of a Postfix command or daemon process. .IP "\fBprocess_name (read-only)\fR" The process name of a Postfix command or daemon process. .IP "\fBqueue_directory (see 'postconf -d' output)\fR" The location of the Postfix top-level queue directory. .IP "\fBrecipient_delimiter (empty)\fR" The separator between user names and address extensions (user+foo). .IP "\fBsmtpd_banner ($myhostname ESMTP $mail_name)\fR" The text that follows the 220 status code in the SMTP greeting banner. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .PP Available in Postfix version 2.2 and later: .IP "\fBsmtpd_forbidden_commands (CONNECT, GET, POST)\fR" List of commands that cause the Postfix SMTP server to immediately terminate the session with a 221 code. .PP Available in Postfix version 2.5 and later: .IP "\fBsmtpd_client_port_logging (no)\fR" Enable logging of the remote SMTP client port in addition to the hostname and IP address. .SH "SEE ALSO" .na .nf anvil(8), connection/rate limiting cleanup(8), message canonicalization tlsmgr(8), TLS session and PRNG management trivial-rewrite(8), address resolver verify(8), address verification service postconf(5), configuration parameters master(5), generic daemon options master(8), process manager syslogd(8), system logging .SH "README FILES" .na .nf .ad .fi Use "\fBpostconf readme_directory\fR" or "\fBpostconf html_directory\fR" to locate this information. .na .nf ADDRESS_CLASS_README, blocking unknown hosted or relay recipients ADDRESS_REWRITING_README Postfix address manipulation FILTER_README, external after-queue content filter LOCAL_RECIPIENT_README, blocking unknown local recipients MILTER_README, before-queue mail filter applications SMTPD_ACCESS_README, built-in access policies SMTPD_POLICY_README, external policy server SMTPD_PROXY_README, external before-queue content filter SASL_README, Postfix SASL howto TLS_README, Postfix STARTTLS howto VERP_README, Postfix XVERP extension XCLIENT_README, Postfix XCLIENT extension XFORWARD_README, Postfix XFORWARD extension .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA SASL support originally by: Till Franke SuSE Rhein/Main AG 65760 Eschborn, Germany TLS support originally by: Lutz Jaenicke BTU Cottbus Allgemeine Elektrotechnik Universitaetsplatz 3-4 D-03044 Cottbus, Germany Revised TLS support by: Victor Duchovni Morgan Stanley 070701000682e7000081a4000000000000000000000001513697a900000ef80000010000010031ffffffffffffffff0000002200000000root/usr/local/man/man8/discard.8.TH DISCARD 8 .ad .fi .SH NAME discard \- Postfix discard mail delivery agent .SH "SYNOPSIS" .na .nf \fBdiscard\fR [generic Postfix daemon options] .SH DESCRIPTION .ad .fi The Postfix \fBdiscard\fR(8) delivery agent processes delivery requests from the queue manager. Each request specifies a queue file, a sender address, a domain or host name that is treated as the reason for discarding the mail, and recipient information. The reason may be prefixed with an RFC 3463-compatible detail code. This program expects to be run from the \fBmaster\fR(8) process manager. The \fBdiscard\fR(8) delivery agent pretends to deliver all recipients in the delivery request, logs the "next-hop" domain or host information as the reason for discarding the mail, updates the queue file and marks recipients as finished or informs the queue manager that delivery should be tried again at a later time. Delivery status reports are sent to the \fBtrace\fR(8) daemon as appropriate. .SH "SECURITY" .na .nf .ad .fi The \fBdiscard\fR(8) mailer is not security-sensitive. It does not talk to the network, and can be run chrooted at fixed low privilege. .SH "STANDARDS" .na .nf None. .SH DIAGNOSTICS .ad .fi Problems and transactions are logged to \fBsyslogd\fR(8). Depending on the setting of the \fBnotify_classes\fR parameter, the postmaster is notified of bounces and of other trouble. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi Changes to \fBmain.cf\fR are picked up automatically as \fBdiscard\fR(8) processes run for only a limited amount of time. Use the command "\fBpostfix reload\fR" to speed up a change. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBdaemon_timeout (18000s)\fR" How much time a Postfix daemon process may take to handle a request before it is terminated by a built-in watchdog timer. .IP "\fBdelay_logging_resolution_limit (2)\fR" The maximal number of digits after the decimal point when logging sub-second delay values. .IP "\fBdouble_bounce_sender (double-bounce)\fR" The sender address of postmaster notifications that are generated by the mail system. .IP "\fBipc_timeout (3600s)\fR" The time limit for sending or receiving information over an internal communication channel. .IP "\fBmax_idle (100s)\fR" The maximum amount of time that an idle Postfix daemon process waits for an incoming connection before terminating voluntarily. .IP "\fBmax_use (100)\fR" The maximal number of incoming connections that a Postfix daemon process will service before terminating voluntarily. .IP "\fBprocess_id (read-only)\fR" The process ID of a Postfix command or daemon process. .IP "\fBprocess_name (read-only)\fR" The process name of a Postfix command or daemon process. .IP "\fBqueue_directory (see 'postconf -d' output)\fR" The location of the Postfix top-level queue directory. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .SH "SEE ALSO" .na .nf qmgr(8), queue manager bounce(8), delivery status reports error(8), Postfix error delivery agent postconf(5), configuration parameters master(5), generic daemon options master(8), process manager syslogd(8), system logging .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "HISTORY" .na .nf This service was introduced with Postfix version 2.2. .SH "AUTHOR(S)" .na .nf Victor Duchovni Morgan Stanley Based on code by: Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682e6000081a4000000000000000000000001513697a9000000120000010000010031ffffffffffffffff0000002000000000root/usr/local/man/man8/defer.8.so man8/bounce.8 070701000682fa000081a4000000000000000000000001513697aa000018ba0000010000010031ffffffffffffffff0000002100000000root/usr/local/man/man8/tlsmgr.8.TH TLSMGR 8 .ad .fi .SH NAME tlsmgr \- Postfix TLS session cache and PRNG manager .SH "SYNOPSIS" .na .nf \fBtlsmgr\fR [generic Postfix daemon options] .SH DESCRIPTION .ad .fi The \fBtlsmgr\fR(8) manages the Postfix TLS session caches. It stores and retrieves cache entries on request by \fBsmtpd\fR(8) and \fBsmtp\fR(8) processes, and periodically removes entries that have expired. The \fBtlsmgr\fR(8) also manages the PRNG (pseudo random number generator) pool. It answers queries by the \fBsmtpd\fR(8) and \fBsmtp\fR(8) processes to seed their internal PRNG pools. The \fBtlsmgr\fR(8)'s PRNG pool is initially seeded from an external source (EGD, /dev/urandom, or regular file). It is updated at configurable pseudo-random intervals with data from the external source. It is updated periodically with data from TLS session cache entries and with the time of day, and is updated with the time of day whenever a process requests \fBtlsmgr\fR(8) service. The \fBtlsmgr\fR(8) saves the PRNG state to an exchange file periodically and when the process terminates, and reads the exchange file when initializing its PRNG. .SH "SECURITY" .na .nf .ad .fi The \fBtlsmgr\fR(8) is not security-sensitive. The code that maintains the external and internal PRNG pools does not "trust" the data that it manipulates, and the code that maintains the TLS session cache does not touch the contents of the cached entries, except for seeding its internal PRNG pool. The \fBtlsmgr\fR(8) can be run chrooted and with reduced privileges. At process startup it connects to the entropy source and exchange file, and creates or truncates the optional TLS session cache files. With Postfix version 2.5 and later, the \fBtlsmgr\fR(8) no longer uses root privileges when opening cache files. These files should now be stored under the Postfix-owned \fBdata_directory\fR. As a migration aid, an attempt to open a cache file under a non-Postfix directory is redirected to the Postfix-owned \fBdata_directory\fR, and a warning is logged. .SH DIAGNOSTICS .ad .fi Problems and transactions are logged to the syslog daemon. .SH BUGS .ad .fi There is no automatic means to limit the number of entries in the TLS session caches and/or the size of the TLS cache files. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi Changes to \fBmain.cf\fR are not picked up automatically, because \fBtlsmgr\fR(8) is a persistent processes. Use the command "\fBpostfix reload\fR" after a configuration change. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. .SH "TLS SESSION CACHE" .na .nf .ad .fi .IP "\fBlmtp_tls_loglevel (0)\fR" The LMTP-specific version of the smtp_tls_loglevel configuration parameter. .IP "\fBlmtp_tls_session_cache_database (empty)\fR" The LMTP-specific version of the smtp_tls_session_cache_database configuration parameter. .IP "\fBlmtp_tls_session_cache_timeout (3600s)\fR" The LMTP-specific version of the smtp_tls_session_cache_timeout configuration parameter. .IP "\fBsmtp_tls_loglevel (0)\fR" Enable additional Postfix SMTP client logging of TLS activity. .IP "\fBsmtp_tls_session_cache_database (empty)\fR" Name of the file containing the optional Postfix SMTP client TLS session cache. .IP "\fBsmtp_tls_session_cache_timeout (3600s)\fR" The expiration time of Postfix SMTP client TLS session cache information. .IP "\fBsmtpd_tls_loglevel (0)\fR" Enable additional Postfix SMTP server logging of TLS activity. .IP "\fBsmtpd_tls_session_cache_database (empty)\fR" Name of the file containing the optional Postfix SMTP server TLS session cache. .IP "\fBsmtpd_tls_session_cache_timeout (3600s)\fR" The expiration time of Postfix SMTP server TLS session cache information. .SH "PSEUDO RANDOM NUMBER GENERATOR" .na .nf .ad .fi .IP "\fBtls_random_source (see 'postconf -d' output)\fR" The external entropy source for the in-memory \fBtlsmgr\fR(8) pseudo random number generator (PRNG) pool. .IP "\fBtls_random_bytes (32)\fR" The number of bytes that \fBtlsmgr\fR(8) reads from $tls_random_source when (re)seeding the in-memory pseudo random number generator (PRNG) pool. .IP "\fBtls_random_exchange_name (see 'postconf -d' output)\fR" Name of the pseudo random number generator (PRNG) state file that is maintained by \fBtlsmgr\fR(8). .IP "\fBtls_random_prng_update_period (3600s)\fR" The time between attempts by \fBtlsmgr\fR(8) to save the state of the pseudo random number generator (PRNG) to the file specified with $tls_random_exchange_name. .IP "\fBtls_random_reseed_period (3600s)\fR" The maximal time between attempts by \fBtlsmgr\fR(8) to re-seed the in-memory pseudo random number generator (PRNG) pool from external sources. .SH "MISCELLANEOUS CONTROLS" .na .nf .ad .fi .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBdata_directory (see 'postconf -d' output)\fR" The directory with Postfix-writable data files (for example: caches, pseudo-random numbers). .IP "\fBdaemon_timeout (18000s)\fR" How much time a Postfix daemon process may take to handle a request before it is terminated by a built-in watchdog timer. .IP "\fBprocess_id (read-only)\fR" The process ID of a Postfix command or daemon process. .IP "\fBprocess_name (read-only)\fR" The process name of a Postfix command or daemon process. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .SH "SEE ALSO" .na .nf smtp(8), Postfix SMTP client smtpd(8), Postfix SMTP server postconf(5), configuration parameters master(5), generic daemon options master(8), process manager syslogd(8), system logging .SH "README FILES" .na .nf .ad .fi Use "\fBpostconf readme_directory\fR" or "\fBpostconf html_directory\fR" to locate this information. .na .nf TLS_README, Postfix TLS configuration and operation .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "AUTHOR(S)" .na .nf Lutz Jaenicke BTU Cottbus Allgemeine Elektrotechnik Universitaetsplatz 3-4 D-03044 Cottbus, Germany Adapted by: Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682f7000081a4000000000000000000000001513697aa000073d00000010000010031ffffffffffffffff0000001f00000000root/usr/local/man/man8/smtp.8.TH SMTP 8 .ad .fi .SH NAME smtp \- Postfix SMTP+LMTP client .SH "SYNOPSIS" .na .nf \fBsmtp\fR [generic Postfix daemon options] .SH DESCRIPTION .ad .fi The Postfix SMTP+LMTP client implements the SMTP and LMTP mail delivery protocols. It processes message delivery requests from the queue manager. Each request specifies a queue file, a sender address, a domain or host to deliver to, and recipient information. This program expects to be run from the \fBmaster\fR(8) process manager. The SMTP+LMTP client updates the queue file and marks recipients as finished, or it informs the queue manager that delivery should be tried again at a later time. Delivery status reports are sent to the \fBbounce\fR(8), \fBdefer\fR(8) or \fBtrace\fR(8) daemon as appropriate. The SMTP+LMTP client looks up a list of mail exchanger addresses for the destination host, sorts the list by preference, and connects to each listed address until it finds a server that responds. When a server is not reachable, or when mail delivery fails due to a recoverable error condition, the SMTP+LMTP client will try to deliver the mail to an alternate host. After a successful mail transaction, a connection may be saved to the \fBscache\fR(8) connection cache server, so that it may be used by any SMTP+LMTP client for a subsequent transaction. By default, connection caching is enabled temporarily for destinations that have a high volume of mail in the active queue. Connection caching can be enabled permanently for specific destinations. .SH "SMTP DESTINATION SYNTAX" .na .nf .ad .fi SMTP destinations have the following form: .IP \fIdomainname\fR .IP \fIdomainname\fR:\fIport\fR Look up the mail exchangers for the specified domain, and connect to the specified port (default: \fBsmtp\fR). .IP [\fIhostname\fR] .IP [\fIhostname\fR]:\fIport\fR Look up the address(es) of the specified host, and connect to the specified port (default: \fBsmtp\fR). .IP [\fIaddress\fR] .IP [\fIaddress\fR]:\fIport\fR Connect to the host at the specified address, and connect to the specified port (default: \fBsmtp\fR). An IPv6 address must be formatted as [\fBipv6\fR:\fIaddress\fR]. .SH "LMTP DESTINATION SYNTAX" .na .nf .ad .fi LMTP destinations have the following form: .IP \fBunix\fR:\fIpathname\fR Connect to the local UNIX-domain server that is bound to the specified \fIpathname\fR. If the process runs chrooted, an absolute pathname is interpreted relative to the Postfix queue directory. .IP \fBinet\fR:\fIhostname\fR .IP \fBinet\fB:\fIhostname\fR:\fIport\fR .IP \fBinet\fR:[\fIaddress\fR] .IP \fBinet\fR:[\fIaddress\fR]:\fIport\fR Connect to the specified TCP port on the specified local or remote host. If no port is specified, connect to the port defined as \fBlmtp\fR in \fBservices\fR(4). If no such service is found, the \fBlmtp_tcp_port\fR configuration parameter (default value of 24) will be used. An IPv6 address must be formatted as [\fBipv6\fR:\fIaddress\fR]. .PP .SH "SECURITY" .na .nf .ad .fi The SMTP+LMTP client is moderately security-sensitive. It talks to SMTP or LMTP servers and to DNS servers on the network. The SMTP+LMTP client can be run chrooted at fixed low privilege. .SH "STANDARDS" .na .nf RFC 821 (SMTP protocol) RFC 822 (ARPA Internet Text Messages) RFC 1651 (SMTP service extensions) RFC 1652 (8bit-MIME transport) RFC 1870 (Message Size Declaration) RFC 2033 (LMTP protocol) RFC 2034 (SMTP Enhanced Error Codes) RFC 2045 (MIME: Format of Internet Message Bodies) RFC 2046 (MIME: Media Types) RFC 2554 (AUTH command) RFC 2821 (SMTP protocol) RFC 2920 (SMTP Pipelining) RFC 3207 (STARTTLS command) RFC 3461 (SMTP DSN Extension) RFC 3463 (Enhanced Status Codes) RFC 4954 (AUTH command) .SH DIAGNOSTICS .ad .fi Problems and transactions are logged to \fBsyslogd\fR(8). Corrupted message files are marked so that the queue manager can move them to the \fBcorrupt\fR queue for further inspection. Depending on the setting of the \fBnotify_classes\fR parameter, the postmaster is notified of bounces, protocol problems, and of other trouble. .SH BUGS .ad .fi SMTP and LMTP connection caching does not work with TLS. The necessary support for TLS object passivation and re-activation does not exist without closing the session, which defeats the purpose. SMTP and LMTP connection caching assumes that SASL credentials are valid for all destinations that map onto the same IP address and TCP port. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi Before Postfix version 2.3, the LMTP client is a separate program that implements only a subset of the functionality available with SMTP: there is no support for TLS, and connections are cached in-process, making it ineffective when the client is used for multiple domains. Most smtp_\fIxxx\fR configuration parameters have an lmtp_\fIxxx\fR "mirror" parameter for the equivalent LMTP feature. This document describes only those LMTP-related parameters that aren't simply "mirror" parameters. Changes to \fBmain.cf\fR are picked up automatically, as \fBsmtp\fR(8) processes run for only a limited amount of time. Use the command "\fBpostfix reload\fR" to speed up a change. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. .SH "COMPATIBILITY CONTROLS" .na .nf .ad .fi .IP "\fBignore_mx_lookup_error (no)\fR" Ignore DNS MX lookups that produce no response. .IP "\fBsmtp_always_send_ehlo (yes)\fR" Always send EHLO at the start of an SMTP session. .IP "\fBsmtp_never_send_ehlo (no)\fR" Never send EHLO at the start of an SMTP session. .IP "\fBsmtp_defer_if_no_mx_address_found (no)\fR" Defer mail delivery when no MX record resolves to an IP address. .IP "\fBsmtp_line_length_limit (998)\fR" The maximal length of message header and body lines that Postfix will send via SMTP. .IP "\fBsmtp_pix_workaround_delay_time (10s)\fR" How long the Postfix SMTP client pauses before sending "." in order to work around the PIX firewall "." bug. .IP "\fBsmtp_pix_workaround_threshold_time (500s)\fR" How long a message must be queued before the Postfix SMTP client turns on the PIX firewall "." bug workaround for delivery through firewalls with "smtp fixup" mode turned on. .IP "\fBsmtp_pix_workarounds (disable_esmtp, delay_dotcrlf)\fR" A list that specifies zero or more workarounds for CISCO PIX firewall bugs. .IP "\fBsmtp_pix_workaround_maps (empty)\fR" Lookup tables, indexed by the remote SMTP server address, with per-destination workarounds for CISCO PIX firewall bugs. .IP "\fBsmtp_quote_rfc821_envelope (yes)\fR" Quote addresses in Postfix SMTP client MAIL FROM and RCPT TO commands as required by RFC 2821. .IP "\fBsmtp_reply_filter (empty)\fR" A mechanism to transform replies from remote SMTP servers one line at a time. .IP "\fBsmtp_skip_5xx_greeting (yes)\fR" Skip remote SMTP servers that greet with a 5XX status code (go away, do not try again later). .IP "\fBsmtp_skip_quit_response (yes)\fR" Do not wait for the response to the SMTP QUIT command. .PP Available in Postfix version 2.0 and earlier: .IP "\fBsmtp_skip_4xx_greeting (yes)\fR" Skip SMTP servers that greet with a 4XX status code (go away, try again later). .PP Available in Postfix version 2.2 and later: .IP "\fBsmtp_discard_ehlo_keyword_address_maps (empty)\fR" Lookup tables, indexed by the remote SMTP server address, with case insensitive lists of EHLO keywords (pipelining, starttls, auth, etc.) that the Postfix SMTP client will ignore in the EHLO response from a remote SMTP server. .IP "\fBsmtp_discard_ehlo_keywords (empty)\fR" A case insensitive list of EHLO keywords (pipelining, starttls, auth, etc.) that the Postfix SMTP client will ignore in the EHLO response from a remote SMTP server. .IP "\fBsmtp_generic_maps (empty)\fR" Optional lookup tables that perform address rewriting in the Postfix SMTP client, typically to transform a locally valid address into a globally valid address when sending mail across the Internet. .PP Available in Postfix version 2.2.9 and later: .IP "\fBsmtp_cname_overrides_servername (version dependent)\fR" Allow DNS CNAME records to override the servername that the Postfix SMTP client uses for logging, SASL password lookup, TLS policy decisions, or TLS certificate verification. .PP Available in Postfix version 2.3 and later: .IP "\fBlmtp_discard_lhlo_keyword_address_maps (empty)\fR" Lookup tables, indexed by the remote LMTP server address, with case insensitive lists of LHLO keywords (pipelining, starttls, auth, etc.) that the Postfix LMTP client will ignore in the LHLO response from a remote LMTP server. .IP "\fBlmtp_discard_lhlo_keywords (empty)\fR" A case insensitive list of LHLO keywords (pipelining, starttls, auth, etc.) that the Postfix LMTP client will ignore in the LHLO response from a remote LMTP server. .PP Available in Postfix version 2.4.4 and later: .IP "\fBsend_cyrus_sasl_authzid (no)\fR" When authenticating to a remote SMTP or LMTP server with the default setting "no", send no SASL authoriZation ID (authzid); send only the SASL authentiCation ID (authcid) plus the authcid's password. .PP Available in Postfix version 2.5 and later: .IP "\fBsmtp_header_checks (empty)\fR" Restricted \fBheader_checks\fR(5) tables for the Postfix SMTP client. .IP "\fBsmtp_mime_header_checks (empty)\fR" Restricted \fBmime_header_checks\fR(5) tables for the Postfix SMTP client. .IP "\fBsmtp_nested_header_checks (empty)\fR" Restricted \fBnested_header_checks\fR(5) tables for the Postfix SMTP client. .IP "\fBsmtp_body_checks (empty)\fR" Restricted \fBbody_checks\fR(5) tables for the Postfix SMTP client. .PP Available in Postfix version 2.6 and later: .IP "\fBtcp_windowsize (0)\fR" An optional workaround for routers that break TCP window scaling. .PP Available in Postfix version 2.8 and later: .IP "\fBsmtp_dns_resolver_options (empty)\fR" DNS Resolver options for the Postfix SMTP client. .PP Available in Postfix version 2.9 and later: .IP "\fBsmtp_per_record_deadline (no)\fR" Change the behavior of the smtp_*_timeout time limits, from a time limit per read or write system call, to a time limit to send or receive a complete record (an SMTP command line, SMTP response line, SMTP message content line, or TLS protocol message). .IP "\fBsmtp_send_dummy_mail_auth (no)\fR" Whether or not to append the "AUTH=<>" option to the MAIL FROM command in SASL-authenticated SMTP sessions. .SH "MIME PROCESSING CONTROLS" .na .nf .ad .fi Available in Postfix version 2.0 and later: .IP "\fBdisable_mime_output_conversion (no)\fR" Disable the conversion of 8BITMIME format to 7BIT format. .IP "\fBmime_boundary_length_limit (2048)\fR" The maximal length of MIME multipart boundary strings. .IP "\fBmime_nesting_limit (100)\fR" The maximal recursion level that the MIME processor will handle. .SH "EXTERNAL CONTENT INSPECTION CONTROLS" .na .nf .ad .fi Available in Postfix version 2.1 and later: .IP "\fBsmtp_send_xforward_command (no)\fR" Send the non-standard XFORWARD command when the Postfix SMTP server EHLO response announces XFORWARD support. .SH "SASL AUTHENTICATION CONTROLS" .na .nf .ad .fi .IP "\fBsmtp_sasl_auth_enable (no)\fR" Enable SASL authentication in the Postfix SMTP client. .IP "\fBsmtp_sasl_password_maps (empty)\fR" Optional Postfix SMTP client lookup tables with one username:password entry per remote hostname or domain, or sender address when sender-dependent authentication is enabled. .IP "\fBsmtp_sasl_security_options (noplaintext, noanonymous)\fR" Postfix SMTP client SASL security options; as of Postfix 2.3 the list of available features depends on the SASL client implementation that is selected with \fBsmtp_sasl_type\fR. .PP Available in Postfix version 2.2 and later: .IP "\fBsmtp_sasl_mechanism_filter (empty)\fR" If non-empty, a Postfix SMTP client filter for the remote SMTP server's list of offered SASL mechanisms. .PP Available in Postfix version 2.3 and later: .IP "\fBsmtp_sender_dependent_authentication (no)\fR" Enable sender-dependent authentication in the Postfix 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. .IP "\fBsmtp_sasl_path (empty)\fR" Implementation-specific information that the Postfix SMTP client passes through to the SASL plug-in implementation that is selected with \fBsmtp_sasl_type\fR. .IP "\fBsmtp_sasl_type (cyrus)\fR" The SASL plug-in type that the Postfix SMTP client should use for authentication. .PP Available in Postfix version 2.5 and later: .IP "\fBsmtp_sasl_auth_cache_name (empty)\fR" An optional table to prevent repeated SASL authentication failures with the same remote SMTP server hostname, username and password. .IP "\fBsmtp_sasl_auth_cache_time (90d)\fR" The maximal age of an smtp_sasl_auth_cache_name entry before it is removed. .IP "\fBsmtp_sasl_auth_soft_bounce (yes)\fR" When a remote SMTP server rejects a SASL authentication request with a 535 reply code, defer mail delivery instead of returning mail as undeliverable. .PP Available in Postfix version 2.9 and later: .IP "\fBsmtp_send_dummy_mail_auth (no)\fR" Whether or not to append the "AUTH=<>" option to the MAIL FROM command in SASL-authenticated SMTP sessions. .SH "STARTTLS SUPPORT CONTROLS" .na .nf .ad .fi Detailed information about STARTTLS configuration may be found in the TLS_README document. .IP "\fBsmtp_tls_security_level (empty)\fR" The default SMTP TLS security level for the Postfix SMTP client; when a non-empty value is specified, this overrides the obsolete parameters smtp_use_tls, smtp_enforce_tls, and smtp_tls_enforce_peername. .IP "\fBsmtp_sasl_tls_security_options ($smtp_sasl_security_options)\fR" The SASL authentication security options that the Postfix SMTP client uses for TLS encrypted SMTP sessions. .IP "\fBsmtp_starttls_timeout (300s)\fR" Time limit for Postfix SMTP client write and read operations during TLS startup and shutdown handshake procedures. .IP "\fBsmtp_tls_CAfile (empty)\fR" A file containing CA certificates of root CAs trusted to sign either remote SMTP server certificates or intermediate CA certificates. .IP "\fBsmtp_tls_CApath (empty)\fR" Directory with PEM format certificate authority certificates that the Postfix SMTP client uses to verify a remote SMTP server certificate. .IP "\fBsmtp_tls_cert_file (empty)\fR" File with the Postfix SMTP client RSA certificate in PEM format. .IP "\fBsmtp_tls_mandatory_ciphers (medium)\fR" The minimum TLS cipher grade that the Postfix SMTP client will use with mandatory TLS encryption. .IP "\fBsmtp_tls_exclude_ciphers (empty)\fR" List of ciphers or cipher types to exclude from the Postfix SMTP client cipher list at all TLS security levels. .IP "\fBsmtp_tls_mandatory_exclude_ciphers (empty)\fR" Additional list of ciphers or cipher types to exclude from the Postfix SMTP client cipher list at mandatory TLS security levels. .IP "\fBsmtp_tls_dcert_file (empty)\fR" File with the Postfix SMTP client DSA certificate in PEM format. .IP "\fBsmtp_tls_dkey_file ($smtp_tls_dcert_file)\fR" File with the Postfix SMTP client DSA private key in PEM format. .IP "\fBsmtp_tls_key_file ($smtp_tls_cert_file)\fR" File with the Postfix SMTP client RSA private key in PEM format. .IP "\fBsmtp_tls_loglevel (0)\fR" Enable additional Postfix SMTP client logging of TLS activity. .IP "\fBsmtp_tls_note_starttls_offer (no)\fR" Log the hostname of a remote SMTP server that offers STARTTLS, when TLS is not already enabled for that server. .IP "\fBsmtp_tls_policy_maps (empty)\fR" Optional lookup tables with the Postfix SMTP client TLS security policy by next-hop destination; when a non-empty value is specified, this overrides the obsolete smtp_tls_per_site parameter. .IP "\fBsmtp_tls_mandatory_protocols (!SSLv2)\fR" List of SSL/TLS protocols that the Postfix SMTP client will use with mandatory TLS encryption. .IP "\fBsmtp_tls_scert_verifydepth (9)\fR" The verification depth for remote SMTP server certificates. .IP "\fBsmtp_tls_secure_cert_match (nexthop, dot-nexthop)\fR" How the Postfix SMTP client verifies the server certificate peername for the "secure" TLS security level. .IP "\fBsmtp_tls_session_cache_database (empty)\fR" Name of the file containing the optional Postfix SMTP client TLS session cache. .IP "\fBsmtp_tls_session_cache_timeout (3600s)\fR" The expiration time of Postfix SMTP client TLS session cache information. .IP "\fBsmtp_tls_verify_cert_match (hostname)\fR" How the Postfix SMTP client verifies the server certificate peername for the "verify" TLS security level. .IP "\fBtls_daemon_random_bytes (32)\fR" The number of pseudo-random bytes that an \fBsmtp\fR(8) or \fBsmtpd\fR(8) process requests from the \fBtlsmgr\fR(8) server in order to seed its internal pseudo random number generator (PRNG). .IP "\fBtls_high_cipherlist (ALL:!EXPORT:!LOW:!MEDIUM:+RC4:@STRENGTH)\fR" The OpenSSL cipherlist for "HIGH" grade ciphers. .IP "\fBtls_medium_cipherlist (ALL:!EXPORT:!LOW:+RC4:@STRENGTH)\fR" The OpenSSL cipherlist for "MEDIUM" or higher grade ciphers. .IP "\fBtls_low_cipherlist (ALL:!EXPORT:+RC4:@STRENGTH)\fR" The OpenSSL cipherlist for "LOW" or higher grade ciphers. .IP "\fBtls_export_cipherlist (ALL:+RC4:@STRENGTH)\fR" The OpenSSL cipherlist for "EXPORT" or higher grade ciphers. .IP "\fBtls_null_cipherlist (eNULL:!aNULL)\fR" The OpenSSL cipherlist for "NULL" grade ciphers that provide authentication without encryption. .PP Available in Postfix version 2.4 and later: .IP "\fBsmtp_sasl_tls_verified_security_options ($smtp_sasl_tls_security_options)\fR" The SASL authentication security options that the Postfix SMTP client uses for TLS encrypted SMTP sessions with a verified server certificate. .PP Available in Postfix version 2.5 and later: .IP "\fBsmtp_tls_fingerprint_cert_match (empty)\fR" List of acceptable remote SMTP server certificate fingerprints for the "fingerprint" TLS security level (\fBsmtp_tls_security_level\fR = fingerprint). .IP "\fBsmtp_tls_fingerprint_digest (md5)\fR" The message digest algorithm used to construct remote SMTP server certificate fingerprints. .PP Available in Postfix version 2.6 and later: .IP "\fBsmtp_tls_protocols (!SSLv2)\fR" List of TLS protocols that the Postfix SMTP client will exclude or include with opportunistic TLS encryption. .IP "\fBsmtp_tls_ciphers (export)\fR" The minimum TLS cipher grade that the Postfix SMTP client will use with opportunistic TLS encryption. .IP "\fBsmtp_tls_eccert_file (empty)\fR" File with the Postfix SMTP client ECDSA certificate in PEM format. .IP "\fBsmtp_tls_eckey_file ($smtp_tls_eccert_file)\fR" File with the Postfix SMTP client ECDSA private key in PEM format. .PP Available in Postfix version 2.7 and later: .IP "\fBsmtp_tls_block_early_mail_reply (no)\fR" Try to detect a mail hijacking attack based on a TLS protocol vulnerability (CVE-2009-3555), where an attacker prepends malicious HELO, MAIL, RCPT, DATA commands to a Postfix SMTP client TLS session. .PP Available in Postfix version 2.8 and later: .IP "\fBtls_disable_workarounds (see 'postconf -d' output)\fR" List or bit-mask of OpenSSL bug work-arounds to disable. .SH "OBSOLETE STARTTLS CONTROLS" .na .nf .ad .fi The following configuration parameters exist for compatibility with Postfix versions before 2.3. Support for these will be removed in a future release. .IP "\fBsmtp_use_tls (no)\fR" Opportunistic mode: use TLS when a remote SMTP server announces STARTTLS support, otherwise send the mail in the clear. .IP "\fBsmtp_enforce_tls (no)\fR" Enforcement mode: require that remote SMTP servers use TLS encryption, and never send mail in the clear. .IP "\fBsmtp_tls_enforce_peername (yes)\fR" With mandatory TLS encryption, require that the remote SMTP server hostname matches the information in the remote SMTP server certificate. .IP "\fBsmtp_tls_per_site (empty)\fR" Optional lookup tables with the Postfix SMTP client TLS usage policy by next-hop destination and by remote SMTP server hostname. .IP "\fBsmtp_tls_cipherlist (empty)\fR" Obsolete Postfix < 2.3 control for the Postfix SMTP client TLS cipher list. .SH "RESOURCE AND RATE CONTROLS" .na .nf .ad .fi .IP "\fBsmtp_destination_concurrency_limit ($default_destination_concurrency_limit)\fR" The maximal number of parallel deliveries to the same destination via the smtp message delivery transport. .IP "\fBsmtp_destination_recipient_limit ($default_destination_recipient_limit)\fR" The maximal number of recipients per message for the smtp message delivery transport. .IP "\fBsmtp_connect_timeout (30s)\fR" The Postfix SMTP client time limit for completing a TCP connection, or zero (use the operating system built-in time limit). .IP "\fBsmtp_helo_timeout (300s)\fR" The Postfix SMTP client time limit for sending the HELO or EHLO command, and for receiving the initial remote SMTP server response. .IP "\fBlmtp_lhlo_timeout (300s)\fR" The Postfix LMTP client time limit for sending the LHLO command, and for receiving the initial remote LMTP server response. .IP "\fBsmtp_xforward_timeout (300s)\fR" The Postfix SMTP client time limit for sending the XFORWARD command, and for receiving the remote SMTP server response. .IP "\fBsmtp_mail_timeout (300s)\fR" The Postfix SMTP client time limit for sending the MAIL FROM command, and for receiving the remote SMTP server response. .IP "\fBsmtp_rcpt_timeout (300s)\fR" The Postfix SMTP client time limit for sending the SMTP RCPT TO command, and for receiving the remote SMTP server response. .IP "\fBsmtp_data_init_timeout (120s)\fR" The Postfix SMTP client time limit for sending the SMTP DATA command, and for receiving the remote SMTP server response. .IP "\fBsmtp_data_xfer_timeout (180s)\fR" The Postfix SMTP client time limit for sending the SMTP message content. .IP "\fBsmtp_data_done_timeout (600s)\fR" The Postfix SMTP client time limit for sending the SMTP ".", and for receiving the remote SMTP server response. .IP "\fBsmtp_quit_timeout (300s)\fR" The Postfix SMTP client time limit for sending the QUIT command, and for receiving the remote SMTP server response. .PP Available in Postfix version 2.1 and later: .IP "\fBsmtp_mx_address_limit (5)\fR" The maximal number of MX (mail exchanger) IP addresses that can result from Postfix SMTP client mail exchanger lookups, or zero (no limit). .IP "\fBsmtp_mx_session_limit (2)\fR" The maximal number of SMTP sessions per delivery request before the Postfix SMTP client gives up or delivers to a fall-back relay host, or zero (no limit). .IP "\fBsmtp_rset_timeout (20s)\fR" The Postfix SMTP client time limit for sending the RSET command, and for receiving the remote SMTP server response. .PP Available in Postfix version 2.2 and earlier: .IP "\fBlmtp_cache_connection (yes)\fR" Keep Postfix LMTP client connections open for up to $max_idle seconds. .PP Available in Postfix version 2.2 and later: .IP "\fBsmtp_connection_cache_destinations (empty)\fR" Permanently enable SMTP connection caching for the specified destinations. .IP "\fBsmtp_connection_cache_on_demand (yes)\fR" Temporarily enable SMTP connection caching while a destination has a high volume of mail in the active queue. .IP "\fBsmtp_connection_reuse_time_limit (300s)\fR" The amount of time during which Postfix will use an SMTP connection repeatedly. .IP "\fBsmtp_connection_cache_time_limit (2s)\fR" When SMTP connection caching is enabled, the amount of time that an unused SMTP client socket is kept open before it is closed. .PP Available in Postfix version 2.3 and later: .IP "\fBconnection_cache_protocol_timeout (5s)\fR" Time limit for connection cache connect, send or receive operations. .PP Available in Postfix version 2.9 and later: .IP "\fBsmtp_per_record_deadline (no)\fR" Change the behavior of the smtp_*_timeout time limits, from a time limit per read or write system call, to a time limit to send or receive a complete record (an SMTP command line, SMTP response line, SMTP message content line, or TLS protocol message). .SH "TROUBLE SHOOTING CONTROLS" .na .nf .ad .fi .IP "\fBdebug_peer_level (2)\fR" The increment in verbose logging level when a remote client or server matches a pattern in the debug_peer_list parameter. .IP "\fBdebug_peer_list (empty)\fR" 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. .IP "\fBerror_notice_recipient (postmaster)\fR" The recipient of postmaster notifications about mail delivery problems that are caused by policy, resource, software or protocol errors. .IP "\fBinternal_mail_filter_classes (empty)\fR" What categories of Postfix-generated mail are subject to before-queue content inspection by non_smtpd_milters, header_checks and body_checks. .IP "\fBnotify_classes (resource, software)\fR" The list of error classes that are reported to the postmaster. .SH "MISCELLANEOUS CONTROLS" .na .nf .ad .fi .IP "\fBbest_mx_transport (empty)\fR" Where the Postfix SMTP client should deliver mail when it detects a "mail loops back to myself" error condition. .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBdaemon_timeout (18000s)\fR" How much time a Postfix daemon process may take to handle a request before it is terminated by a built-in watchdog timer. .IP "\fBdelay_logging_resolution_limit (2)\fR" The maximal number of digits after the decimal point when logging sub-second delay values. .IP "\fBdisable_dns_lookups (no)\fR" Disable DNS lookups in the Postfix SMTP and LMTP clients. .IP "\fBinet_interfaces (all)\fR" The network interface addresses that this mail system receives mail on. .IP "\fBinet_protocols (all)\fR" The Internet protocols Postfix will attempt to use when making or accepting connections. .IP "\fBipc_timeout (3600s)\fR" The time limit for sending or receiving information over an internal communication channel. .IP "\fBlmtp_assume_final (no)\fR" When a remote LMTP server announces no DSN support, assume that the server performs final delivery, and send "delivered" delivery status notifications instead of "relayed". .IP "\fBlmtp_tcp_port (24)\fR" The default TCP port that the Postfix LMTP client connects to. .IP "\fBmax_idle (100s)\fR" The maximum amount of time that an idle Postfix daemon process waits for an incoming connection before terminating voluntarily. .IP "\fBmax_use (100)\fR" The maximal number of incoming connections that a Postfix daemon process will service before terminating voluntarily. .IP "\fBprocess_id (read-only)\fR" The process ID of a Postfix command or daemon process. .IP "\fBprocess_name (read-only)\fR" The process name of a Postfix command or daemon process. .IP "\fBproxy_interfaces (empty)\fR" The network interface addresses that this mail system receives mail on by way of a proxy or network address translation unit. .IP "\fBsmtp_address_preference (any)\fR" The address type ("ipv6", "ipv4" or "any") that the Postfix SMTP client will try first, when a destination has IPv6 and IPv4 addresses with equal MX preference. .IP "\fBsmtp_bind_address (empty)\fR" An optional numerical network address that the Postfix SMTP client should bind to when making an IPv4 connection. .IP "\fBsmtp_bind_address6 (empty)\fR" An optional numerical network address that the Postfix SMTP client should bind to when making an IPv6 connection. .IP "\fBsmtp_helo_name ($myhostname)\fR" The hostname to send in the SMTP EHLO or HELO command. .IP "\fBlmtp_lhlo_name ($myhostname)\fR" The hostname to send in the LMTP LHLO command. .IP "\fBsmtp_host_lookup (dns)\fR" What mechanisms the Postfix SMTP client uses to look up a host's IP address. .IP "\fBsmtp_randomize_addresses (yes)\fR" Randomize the order of equal-preference MX host addresses. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .PP Available with Postfix 2.2 and earlier: .IP "\fBfallback_relay (empty)\fR" Optional list of relay hosts for SMTP destinations that can't be found or that are unreachable. .PP Available with Postfix 2.3 and later: .IP "\fBsmtp_fallback_relay ($fallback_relay)\fR" Optional list of relay hosts for SMTP destinations that can't be found or that are unreachable. .SH "SEE ALSO" .na .nf generic(5), output address rewriting header_checks(5), message header content inspection body_checks(5), body parts content inspection qmgr(8), queue manager bounce(8), delivery status reports scache(8), connection cache server postconf(5), configuration parameters master(5), generic daemon options master(8), process manager tlsmgr(8), TLS session and PRNG management syslogd(8), system logging .SH "README FILES" .na .nf .ad .fi Use "\fBpostconf readme_directory\fR" or "\fBpostconf html_directory\fR" to locate this information. .na .nf SASL_README, Postfix SASL howto TLS_README, Postfix STARTTLS howto .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA Command pipelining in cooperation with: Jon Ribbens Oaktree Internet Solutions Ltd., Internet House, Canal Basin, Coventry, CV1 4LY, United Kingdom. SASL support originally by: Till Franke SuSE Rhein/Main AG 65760 Eschborn, Germany TLS support originally by: Lutz Jaenicke BTU Cottbus Allgemeine Elektrotechnik Universitaetsplatz 3-4 D-03044 Cottbus, Germany Revised TLS and SMTP connection cache support by: Victor Duchovni Morgan Stanley 070701000682f6000081a4000000000000000000000001513697aa00000d8d0000010000010031ffffffffffffffff0000002000000000root/usr/local/man/man8/showq.8.TH SHOWQ 8 .ad .fi .SH NAME showq \- list the Postfix mail queue .SH "SYNOPSIS" .na .nf \fBshowq\fR [generic Postfix daemon options] .SH DESCRIPTION .ad .fi The \fBshowq\fR(8) daemon reports the Postfix mail queue status. It is the program that emulates the sendmail `mailq' command. The \fBshowq\fR(8) daemon can also be run in stand-alone mode by the superuser. This mode of operation is used to emulate the `mailq' command while the Postfix mail system is down. .SH "SECURITY" .na .nf .ad .fi The \fBshowq\fR(8) daemon can run in a chroot jail at fixed low privilege, and takes no input from the client. Its service port is accessible to local untrusted users, so the service can be susceptible to denial of service attacks. .SH "STANDARDS" .na .nf .ad .fi None. The \fBshowq\fR(8) daemon does not interact with the outside world. .SH DIAGNOSTICS .ad .fi Problems and transactions are logged to \fBsyslogd\fR(8). .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi Changes to \fBmain.cf\fR are picked up automatically as \fBshowq\fR(8) processes run for only a limited amount of time. Use the command "\fBpostfix reload\fR" to speed up a change. The text below provides only a parameter summary. See \fBpostconf\fR(5) for more details including examples. .IP "\fBconfig_directory (see 'postconf -d' output)\fR" The default location of the Postfix main.cf and master.cf configuration files. .IP "\fBdaemon_timeout (18000s)\fR" How much time a Postfix daemon process may take to handle a request before it is terminated by a built-in watchdog timer. .IP "\fBduplicate_filter_limit (1000)\fR" The maximal number of addresses remembered by the address duplicate filter for \fBaliases\fR(5) or \fBvirtual\fR(5) alias expansion, or for \fBshowq\fR(8) queue displays. .IP "\fBempty_address_recipient (MAILER-DAEMON)\fR" The recipient of mail addressed to the null address. .IP "\fBipc_timeout (3600s)\fR" The time limit for sending or receiving information over an internal communication channel. .IP "\fBmax_idle (100s)\fR" The maximum amount of time that an idle Postfix daemon process waits for an incoming connection before terminating voluntarily. .IP "\fBmax_use (100)\fR" The maximal number of incoming connections that a Postfix daemon process will service before terminating voluntarily. .IP "\fBprocess_id (read-only)\fR" The process ID of a Postfix command or daemon process. .IP "\fBprocess_name (read-only)\fR" The process name of a Postfix command or daemon process. .IP "\fBqueue_directory (see 'postconf -d' output)\fR" The location of the Postfix top-level queue directory. .IP "\fBsyslog_facility (mail)\fR" The syslog facility of Postfix logging. .IP "\fBsyslog_name (see 'postconf -d' output)\fR" The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd". .PP Available in Postfix version 2.9 and later: .IP "\fBenable_long_queue_ids (no)\fR" Enable long, non-repeating, queue IDs (queue file names). .SH "FILES" .na .nf /var/spool/postfix, queue directories .SH "SEE ALSO" .na .nf pickup(8), local mail pickup service cleanup(8), canonicalize and enqueue mail qmgr(8), queue manager postconf(5), configuration parameters master(8), process manager syslogd(8), system logging .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682ca000041ed000000000000000000000002513697b4000000000000010000010031ffffffffffffffff0000001800000000root/usr/local/man/man5070701000682cb000081a4000000000000000000000001513697a7000041e10000010000010031ffffffffffffffff0000002100000000root/usr/local/man/man5/access.5.TH ACCESS 5 .ad .fi .SH NAME access \- Postfix SMTP server access table .SH "SYNOPSIS" .na .nf \fBpostmap /etc/postfix/access\fR \fBpostmap -q "\fIstring\fB" /etc/postfix/access\fR \fBpostmap -q - /etc/postfix/access <\fIinputfile\fR .SH DESCRIPTION .ad .fi This document describes access control on remote SMTP client information: host names, network addresses, and envelope sender or recipient addresses; it is implemented by the Postfix SMTP server. See \fBheader_checks\fR(5) or \fBbody_checks\fR(5) for access control on the content of email messages. Normally, the \fBaccess\fR(5) table is specified as a text file that serves as input to the \fBpostmap\fR(1) command. The result, an indexed file in \fBdbm\fR or \fBdb\fR format, is used for fast searching by the mail system. Execute the command "\fBpostmap /etc/postfix/access\fR" to rebuild an indexed file after changing the corresponding text file. 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-expression map where patterns are given as regular expressions, or lookups can be directed to TCP-based server. In those cases, the lookups are done in a slightly different way as described below under "REGULAR EXPRESSION TABLES" or "TCP-BASED TABLES". .SH "CASE FOLDING" .na .nf .ad .fi The search string is folded to lowercase before database lookup. As of Postfix 2.3, the search string is not case folded with database types such as regexp: or pcre: whose lookup fields can match both upper and lower case. .SH "TABLE FORMAT" .na .nf .ad .fi The input format for the \fBpostmap\fR(1) command is as follows: .IP "\fIpattern action\fR" When \fIpattern\fR matches a mail address, domain or host address, perform the corresponding \fIaction\fR. .IP "blank lines and comments" Empty lines and whitespace-only lines are ignored, as are lines whose first non-whitespace character is a `#'. .IP "multi-line text" A logical line starts with non-whitespace text. A line that starts with whitespace continues a logical line. .SH "EMAIL ADDRESS PATTERNS" .na .nf .ad .fi With lookups from indexed files such as DB or DBM, or from networked tables such as NIS, LDAP or SQL, patterns are tried in the order as listed below: .IP \fIuser\fR@\fIdomain\fR Matches the specified mail address. .IP \fIdomain.tld\fR Matches \fIdomain.tld\fR as the domain part of an email address. .sp The pattern \fIdomain.tld\fR also matches subdomains, but only when the string \fBsmtpd_access_maps\fR is listed in the Postfix \fBparent_domain_matches_subdomains\fR configuration setting. .IP \fI.domain.tld\fR Matches subdomains of \fIdomain.tld\fR, but only when the string \fBsmtpd_access_maps\fR is not listed in the Postfix \fBparent_domain_matches_subdomains\fR configuration setting. .IP \fIuser\fR@ Matches all mail addresses with the specified user part. .PP Note: lookup of the null sender address is not possible with some types of lookup table. By default, Postfix uses \fB<>\fR as the lookup key for such addresses. The value is specified with the \fBsmtpd_null_access_lookup_key\fR parameter in the Postfix \fBmain.cf\fR file. .SH "EMAIL ADDRESS EXTENSION" .na .nf .fi .ad When a mail address localpart contains the optional recipient delimiter (e.g., \fIuser+foo\fR@\fIdomain\fR), the lookup order becomes: \fIuser+foo\fR@\fIdomain\fR, \fIuser\fR@\fIdomain\fR, \fIdomain\fR, \fIuser+foo\fR@, and \fIuser\fR@. .SH "HOST NAME/ADDRESS PATTERNS" .na .nf .ad .fi With lookups from indexed files such as DB or DBM, or from networked tables such as NIS, LDAP or SQL, the following lookup patterns are examined in the order as listed: .IP \fIdomain.tld\fR Matches \fIdomain.tld\fR. .sp The pattern \fIdomain.tld\fR also matches subdomains, but only when the string \fBsmtpd_access_maps\fR is listed in the Postfix \fBparent_domain_matches_subdomains\fR configuration setting. .IP \fI.domain.tld\fR Matches subdomains of \fIdomain.tld\fR, but only when the string \fBsmtpd_access_maps\fR is not listed in the Postfix \fBparent_domain_matches_subdomains\fR configuration setting. .IP \fInet.work.addr.ess\fR .IP \fInet.work.addr\fR .IP \fInet.work\fR .IP \fInet\fR Matches the specified IPv4 host address or subnetwork. An IPv4 host address is a sequence of four decimal octets separated by ".". Subnetworks are matched by repeatedly truncating the last ".octet" from the remote IPv4 host address string until a match is found in the access table, or until further truncation is not possible. NOTE 1: The access map lookup key must be in canonical form: do not specify unnecessary null characters, and do not enclose network address information with "[]" characters. NOTE 2: use the \fBcidr\fR lookup table type to specify network/netmask patterns. See \fBcidr_table\fR(5) for details. .IP \fInet:work:addr:ess\fR .IP \fInet:work:addr\fR .IP \fInet:work\fR .IP \fInet\fR Matches the specified IPv6 host address or subnetwork. An IPv6 host address is a sequence of three to eight hexadecimal octet pairs separated by ":". Subnetworks are matched by repeatedly truncating the last ":octetpair" from the remote IPv6 host address string until a match is found in the access table, or until further truncation is not possible. NOTE 1: the truncation and comparison are done with the string representation of the IPv6 host address. Thus, not all the ":" subnetworks will be tried. NOTE 2: The access map lookup key must be in canonical form: do not specify unnecessary null characters, and do not enclose network address information with "[]" characters. NOTE 3: use the \fBcidr\fR lookup table type to specify network/netmask patterns. See \fBcidr_table\fR(5) for details. IPv6 support is available in Postfix 2.2 and later. .SH "ACCEPT ACTIONS" .na .nf .ad .fi .IP \fBOK\fR Accept the address etc. that matches the pattern. .IP \fIall-numerical\fR An all-numerical result is treated as OK. This format is generated by address-based relay authorization schemes such as pop-before-smtp. .SH "REJECT ACTIONS" .na .nf .ad .fi Postfix version 2.3 and later support enhanced status codes as defined in RFC 3463. When no code is specified at the beginning of the \fItext\fR below, Postfix inserts a default enhanced status code of "5.7.1" in the case of reject actions, and "4.7.1" in the case of defer actions. See "ENHANCED STATUS CODES" below. .IP "\fB4\fINN text\fR" .IP "\fB5\fINN text\fR" Reject the address etc. that matches the pattern, and respond with the numerical three-digit code and text. \fB4\fINN\fR means "try again later", while \fB5\fINN\fR means "do not try again". The following responses have special meaning for the Postfix SMTP server: .RS .IP "\fB421 \fItext\fR (Postfix 2.3 and later)" .IP "\fB521 \fItext\fR (Postfix 2.6 and later)" After responding with the numerical three-digit code and text, disconnect immediately from the SMTP client. This frees up SMTP server resources so that they can be made available to another SMTP client. .IP Note: The "521" response should be used only with botnets and other malware where interoperability is of no concern. The "send 521 and disconnect" behavior is NOT defined in the SMTP standard. .RE .IP "\fBREJECT \fIoptional text...\fR Reject the address etc. that matches the pattern. Reply with "\fB$access_map_reject_code \fIoptional text...\fR" when the optional text is specified, otherwise reply with a generic error response message. .IP "\fBDEFER \fIoptional text...\fR Reject the address etc. that matches the pattern. Reply with "\fB$access_map_defer_code \fIoptional text...\fR" when the optional text is specified, otherwise reply with a generic error response message. .sp This feature is available in Postfix 2.6 and later. .IP "\fBDEFER_IF_REJECT \fIoptional text...\fR Defer the request if some later restriction would result in a REJECT action. Reply with "\fB$access_map_defer_code 4.7.1 \fIoptional text...\fR" when the optional text is specified, otherwise reply with a generic error response message. .sp Prior to Postfix 2.6, the SMTP reply code is 450. .sp This feature is available in Postfix 2.1 and later. .IP "\fBDEFER_IF_PERMIT \fIoptional text...\fR Defer the request if some later restriction would result in a an explicit or implicit PERMIT action. Reply with "\fB$access_map_defer_code 4.7.1 \fI optional text...\fR" when the optional text is specified, otherwise reply with a generic error response message. .sp Prior to Postfix 2.6, the SMTP reply code is 450. .sp This feature is available in Postfix 2.1 and later. .SH "OTHER ACTIONS" .na .nf .ad .fi .IP \fIrestriction...\fR Apply the named UCE restriction(s) (\fBpermit\fR, \fBreject\fR, \fBreject_unauth_destination\fR, and so on). .IP "\fBBCC \fIuser@domain\fR" Send one copy of the message to the specified recipient. .sp If multiple BCC actions are specified within the same SMTP MAIL transaction, only the last action will be used. .sp This feature is not part of the stable Postfix release. .IP "\fBDISCARD \fIoptional text...\fR Claim successful delivery and silently discard the message. Log the optional text if specified, otherwise log a generic message. .sp Note: this action currently affects all recipients of the message. To discard only one recipient without discarding the entire message, use the transport(5) table to direct mail to the discard(8) service. .sp This feature is available in Postfix 2.0 and later. .IP \fBDUNNO\fR Pretend that the lookup key was not found. This prevents Postfix from trying substrings of the lookup key (such as a subdomain name, or a network address subnetwork). .sp This feature is available in Postfix 2.0 and later. .IP "\fBFILTER \fItransport:destination\fR" After the message is queued, send the entire message through the specified external content filter. The \fItransport\fR name specifies the first field of a mail delivery agent definition in master.cf; the syntax of the next-hop \fIdestination\fR is described in the manual page of the corresponding delivery agent. More information about external content filters is in the Postfix FILTER_README file. .sp Note 1: do not use $\fInumber\fR regular expression substitutions for \fItransport\fR or \fIdestination\fR unless you know that the information has a trusted origin. .sp Note 2: this action overrides the main.cf \fBcontent_filter\fR setting, and affects all recipients of the message. In the case that multiple \fBFILTER\fR actions fire, only the last one is executed. .sp Note 3: the purpose of the FILTER command is to override message routing. To override the recipient's \fItransport\fR but not the next-hop \fIdestination\fR, specify an empty filter \fIdestination\fR (Postfix 2.7 and later), or specify a \fItransport:destination\fR that delivers through a different Postfix instance (Postfix 2.6 and earlier). Other options are using the recipient-dependent \fBtrans\%port\%_maps\fR or the sen\%der-dependent \fBsender\%_de\%pen\%dent\%_de\%fault\%_trans\%port\%_maps\fR features. .sp This feature is available in Postfix 2.0 and later. .IP "\fBHOLD \fIoptional text...\fR" Place the message on the \fBhold\fR queue, where it will sit until someone either deletes it or releases it for delivery. Log the optional text if specified, otherwise log a generic message. Mail that is placed on hold can be examined with the \fBpostcat\fR(1) command, and can be destroyed or released with the \fBpostsuper\fR(1) command. .sp Note: use "\fBpostsuper -r\fR" to release mail that was kept on hold for a significant fraction of \fB$maximal_queue_lifetime\fR or \fB$bounce_queue_lifetime\fR, or longer. Use "\fBpostsuper -H\fR" only for mail that will not expire within a few delivery attempts. .sp Note: this action currently affects all recipients of the message. .sp This feature is available in Postfix 2.0 and later. .IP "\fBPREPEND \fIheadername: headervalue\fR" Prepend the specified message header to the message. When more than one PREPEND action executes, the first prepended header appears before the second etc. prepended header. .sp Note: this action must execute before the message content is received; it cannot execute in the context of \fBsmtpd_end_of_data_restrictions\fR. .sp This feature is available in Postfix 2.1 and later. .IP "\fBREDIRECT \fIuser@domain\fR" After the message is queued, send the message to the specified address instead of the intended recipient(s). .sp Note: this action overrides the FILTER action, and currently affects all recipients of the message. .sp This feature is available in Postfix 2.1 and later. .IP "\fBWARN \fIoptional text...\fR Log a warning with the optional text, together with client information and if available, with helo, sender, recipient and protocol information. .sp This feature is available in Postfix 2.1 and later. .SH "ENHANCED STATUS CODES" .na .nf .ad .fi Postfix version 2.3 and later support enhanced status codes as defined in RFC 3463. When an enhanced status code is specified in an access table, it is subject to modification. The following transformations are needed when the same access table is used for client, helo, sender, or recipient access restrictions; they happen regardless of whether Postfix replies to a MAIL FROM, RCPT TO or other SMTP command. .IP \(bu When a sender address matches a REJECT action, the Postfix SMTP server will transform a recipient DSN status (e.g., 4.1.1-4.1.6) into the corresponding sender DSN status, and vice versa. .IP \(bu When non-address information matches a REJECT action (such as the HELO command argument or the client hostname/address), the Postfix SMTP server will transform a sender or recipient DSN status into a generic non-address DSN status (e.g., 4.0.0). .SH "REGULAR EXPRESSION TABLES" .na .nf .ad .fi 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, see \fBregexp_table\fR(5) or \fBpcre_table\fR(5). Each pattern is a regular expression that is applied to the entire string being looked up. Depending on the application, that string is an entire client hostname, an entire client IP address, or an entire mail address. Thus, no parent domain or parent network search is done, \fIuser@domain\fR mail addresses are not broken up into their \fIuser@\fR and \fIdomain\fR constituent parts, nor is \fIuser+foo\fR broken up into \fIuser\fR and \fIfoo\fR. Patterns are applied in the order as specified in the table, until a pattern is found that matches the search string. Actions are the same as with indexed file lookups, with the additional feature that parenthesized substrings from the pattern can be interpolated as \fB$1\fR, \fB$2\fR and so on. .SH "TCP-BASED TABLES" .na .nf .ad .fi This section describes how the table lookups change when lookups are directed to a TCP-based server. For a description of the TCP client/server lookup protocol, see \fBtcp_table\fR(5). This feature is not available up to and including Postfix version 2.4. Each lookup operation uses the entire query string once. Depending on the application, that string is an entire client hostname, an entire client IP address, or an entire mail address. Thus, no parent domain or parent network search is done, \fIuser@domain\fR mail addresses are not broken up into their \fIuser@\fR and \fIdomain\fR constituent parts, nor is \fIuser+foo\fR broken up into \fIuser\fR and \fIfoo\fR. Actions are the same as with indexed file lookups. .SH "EXAMPLE" .na .nf .ad .fi The following example uses an indexed file, so that the order of table entries does not matter. The example permits access by the client at address 1.2.3.4 but rejects all other clients in 1.2.3.0/24. Instead of \fBhash\fR lookup tables, some systems use \fBdbm\fR. Use the command "\fBpostconf -m\fR" to find out what lookup tables Postfix supports on your system. .nf .na /etc/postfix/main.cf: smtpd_client_restrictions = check_client_access hash:/etc/postfix/access /etc/postfix/access: 1.2.3 REJECT 1.2.3.4 OK .fi .ad Execute the command "\fBpostmap /etc/postfix/access\fR" after editing the file. .SH BUGS .ad .fi The table format does not understand quoting conventions. .SH "SEE ALSO" .na .nf postmap(1), Postfix lookup table manager smtpd(8), SMTP server postconf(5), configuration parameters transport(5), transport:nexthop syntax .SH "README FILES" .na .nf .ad .fi Use "\fBpostconf readme_directory\fR" or "\fBpostconf html_directory\fR" to locate this information. .na .nf SMTPD_ACCESS_README, built-in SMTP server access control DATABASE_README, Postfix lookup table overview .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682cd000081a4000000000000000000000001513697a7000000190000010000010031ffffffffffffffff0000002600000000root/usr/local/man/man5/body_checks.5.so man5/header_checks.5 070701000682d4000081a4000000000000000000000001513697a8000020950000010000010031ffffffffffffffff0000002100000000root/usr/local/man/man5/master.5.TH MASTER 5 .ad .fi .SH NAME master \- Postfix master process configuration file format .SH DESCRIPTION .ad .fi The Postfix mail system is implemented by small number of (mostly) client commands that are invoked by users, and by a larger number of services that run in the background. Postfix services are implemented by daemon processes. These run in the background under control of the \fBmaster\fR(8) process. The master.cf configuration file defines how a client program connects to a service, and what daemon program runs when a service is requested. Most daemon processes are short-lived and terminate voluntarily after serving \fBmax_use\fR clients, or after inactivity for \fBmax_idle\fR or more units of time. All daemons specified here must speak a Postfix-internal protocol. In order to execute non-Postfix software use the \fBlocal\fR(8), \fBpipe\fR(8) or \fBspawn\fR(8) services, or run the server under control by \fBinetd\fR(8) or equivalent. .PP After changing master.cf you must execute "\fBpostfix reload\fR" to reload the configuration. .SH "SYNTAX" .na .nf .ad .fi The general format of the master.cf file is as follows: .IP \(bu Each logical line defines a single Postfix service. Each service is identified by its name and type as described below. When multiple lines specify the same service name and type, only the last one is remembered. Otherwise, the order of master.cf service definitions does not matter. .IP \(bu Empty lines and whitespace-only lines are ignored, as are lines whose first non-whitespace character is a `#'. .IP \(bu A logical line starts with non-whitespace text. A line that starts with whitespace continues a logical line. .PP Each logical line consists of eight fields separated by whitespace. These are described below in the order as they appear in the master.cf file. Where applicable a field of "-" requests that the built-in default value be used. For boolean fields specify "y" or "n" to override the default value. .IP "\fBService name\fR" The service name syntax depends on the service type as described next. .IP "\fBService type\fR" Specify one of the following service types: .RS .IP \fBinet\fR The service listens on a TCP/IP socket and is accessible via the network. The service name is specified as \fIhost:port\fR, denoting the host and port on which new connections should be accepted. The host part (and colon) may be omitted. Either host or port may be given in symbolic form (host or service name) or in numeric form (IP address or port number). Host information may be enclosed inside "[]", but this form is not necessary. .sp Examples: a service named \fB127.0.0.1:smtp\fR or \fB::1:smtp\fR receives mail via the loopback interface only; and a service named \fB10025\fR accepts connections on TCP port 10025 via all interfaces configured with the \fBinet_interfaces\fR parameter. .sp Note: with Postfix version 2.2 and later specify "\fBinet_interfaces = loopback-only\fR" in main.cf, instead of hard-coding loopback IP address information in master.cf or in main.cf. .IP \fBunix\fR The service listens on a UNIX-domain socket and is accessible for local clients only. The service name is a pathname relative to the Postfix queue directory (pathname controlled with the \fBqueue_directory\fR configuration parameter in main.cf). .sp On Solaris systems the \fBunix\fR type is implemented with streams sockets. .IP \fBfifo\fR The service listens on a FIFO (named pipe) and is accessible for local clients only. The service name is a pathname relative to the Postfix queue directory (pathname controlled with the \fBqueue_directory\fR configuration parameter in main.cf). .IP \fBpass\fR The service listens on a UNIX-domain socket, and is accessible to local clients only. It receives one open connection (file descriptor passing) per connection request. The service name is a pathname relative to the Postfix queue directory (pathname controlled with the \fBqueue_directory\fR configuration parameter in main.cf). .sp On Solaris systems the \fBpass\fR type is implemented with streams sockets. This feature is available as of Postfix version 2.5. .RE .IP "\fBPrivate (default: y)\fR" Whether or not access is restricted to the mail system. Internet (type \fBinet\fR) services can't be private. .IP "\fBUnprivileged (default: y)\fR" Whether the service runs with root privileges or as the owner of the Postfix system (the owner name is controlled by the \fBmail_owner\fR configuration variable in the main.cf file). .sp The \fBlocal\fR(8), \fBpipe\fR(8), \fBspawn\fR(8), and \fBvirtual\fR(8) daemons require privileges. .IP "\fBChroot (default: y)\fR" Whether or not the service runs chrooted to the mail queue directory (pathname is controlled by the \fBqueue_directory\fR configuration variable in the main.cf file). .sp Chroot should not be used with the \fBlocal\fR(8), \fBpipe\fR(8), \fBspawn\fR(8), and \fBvirtual\fR(8) daemons. Although the \fBproxymap\fR(8) server can run chrooted, doing so defeats most of the purpose of having that service in the first place. .sp The files in the examples/chroot-setup subdirectory of the Postfix source archive show set up a Postfix chroot environment on a variety of systems. See also BASIC_CONFIGURATION_README for issues related to running daemons chrooted. .IP "\fBWake up time (default: 0)\fR" Automatically wake up the named service after the specified number of seconds. The wake up is implemented by connecting to the service and sending a wake up request. A ? at the end of the wake-up time field requests that no wake up events be sent before the first time a service is used. Specify 0 for no automatic wake up. .sp The \fBpickup\fR(8), \fBqmgr\fR(8) and \fBflush\fR(8) daemons require a wake up timer. .IP "\fBProcess limit (default: $default_process_limit)\fR" The maximum number of processes that may execute this service simultaneously. Specify 0 for no process count limit. .sp NOTE: Some Postfix services must be configured as a single-process service (for example, \fBqmgr\fR(8)) and some services must be configured with no process limit (for example, \fBcleanup\fR(8)). These limits must not be changed. .IP "\fBCommand name + arguments\fR" The command to be executed. Characters that are special to the shell such as ">" or "|" have no special meaning here, and quotes cannot be used to protect arguments containing whitespace. .sp The command name is relative to the Postfix daemon directory (pathname is controlled by the \fBdaemon_directory\fR configuration variable). .sp The command argument syntax for specific commands is specified in the respective daemon manual page. .sp The following command-line options have the same effect for all daemon programs: .RS .IP \fB-D\fR Run the daemon under control by the command specified with the \fBdebugger_command\fR variable in the main.cf configuration file. See DEBUG_README for hints and tips. .IP "\fB-o \fIname\fR=\fIvalue\fR" Override the named main.cf configuration parameter. The parameter value can refer to other parameters as \fI$name\fR etc., just like in main.cf. See \fBpostconf\fR(5) for syntax. .sp NOTE 1: do not specify whitespace around the "=". In parameter values, either avoid whitespace altogether, use commas instead of spaces, or consider overrides like "-o name=$override_parameter" with $override_parameter set in main.cf. .sp NOTE 2: Over-zealous use of parameter overrides makes the Postfix configuration hard to understand and maintain. At a certain point, it might be easier to configure multiple instances of Postfix, instead of configuring multiple personalities via master.cf. .IP \fB-v\fR Increase the verbose logging level. Specify multiple \fB-v\fR options to make a Postfix daemon process increasingly verbose. .SH "SEE ALSO" .na .nf master(8), process manager postconf(5), configuration parameters .SH "README FILES" .na .nf .ad .fi Use "\fBpostconf readme_directory\fR" or "\fBpostconf html_directory\fR" to locate this information. .na .nf BASIC_CONFIGURATION_README, basic configuration DEBUG_README, Postfix debugging .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "AUTHOR(S)" .na .nf Initial version by Magnus Baeck Lund Institute of Technology Sweden Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682cc000081a4000000000000000000000001513697a7000019d40000010000010031ffffffffffffffff0000002200000000root/usr/local/man/man5/aliases.5.TH ALIASES 5 .ad .fi .SH NAME aliases \- Postfix local alias database format .SH "SYNOPSIS" .na .nf .fi \fBnewaliases\fR .SH DESCRIPTION .ad .fi The \fBaliases\fR(5) table provides a system-wide mechanism to redirect mail for local recipients. The redirections are processed by the Postfix \fBlocal\fR(8) delivery agent. Normally, the \fBaliases\fR(5) table is specified as a text file that serves as input to the \fBpostalias\fR(1) command. The result, an indexed file in \fBdbm\fR or \fBdb\fR format, is used for fast lookup by the mail system. Execute the command \fBnewaliases\fR in order to rebuild the indexed file after changing the Postfix alias database. The input and output file formats are expected to be compatible with Sendmail version 8, and are expected to be suitable for the use as NIS maps. Users can control delivery of their own mail by setting up \fB.forward\fR files in their home directory. Lines in per-user \fB.forward\fR files have the same syntax as the right-hand side of \fBaliases\fR(5) entries. The format of the alias database input file is as follows: .IP \(bu An alias definition has the form .sp .nf \fIname\fR: \fIvalue1\fR, \fIvalue2\fR, \fI...\fR .fi .IP \(bu Empty lines and whitespace-only lines are ignored, as are lines whose first non-whitespace character is a `#'. .IP \(bu A logical line starts with non-whitespace text. A line that starts with whitespace continues a logical line. .PP The \fIname\fR is a local address (no domain part). Use double quotes when the name contains any special characters such as whitespace, `#', `:', or `@'. The \fIname\fR is folded to lowercase, in order to make database lookups case insensitive. .PP In addition, when an alias exists for \fBowner-\fIname\fR, delivery diagnostics are directed to that address, instead of to the originator of the message. This is typically used to direct delivery errors to the maintainer of a mailing list, who is in a better position to deal with mailing list delivery problems than the originator of the undelivered mail. .PP The \fIvalue\fR contains one or more of the following: .IP \fIaddress\fR Mail is forwarded to \fIaddress\fR, which is compatible with the RFC 822 standard. .IP \fI/file/name\fR Mail is appended to \fI/file/name\fR. See \fBlocal\fR(8) for details of delivery to file. Delivery is not limited to regular files. For example, to dispose of unwanted mail, deflect it to \fB/dev/null\fR. .IP "|\fIcommand\fR" Mail is piped into \fIcommand\fR. Commands that contain special characters, such as whitespace, should be enclosed between double quotes. See \fBlocal\fR(8) for details of delivery to command. .sp When the command fails, a limited amount of command output is mailed back to the sender. The file \fB/usr/include/sysexits.h\fR defines the expected exit status codes. For example, use \fB"|exit 67"\fR to simulate a "user unknown" error, and \fB"|exit 0"\fR to implement an expensive black hole. .IP \fB:include:\fI/file/name\fR Mail is sent to the destinations listed in the named file. Lines in \fB:include:\fR files have the same syntax as the right-hand side of alias entries. .sp A destination can be any destination that is described in this manual page. However, delivery to "|\fIcommand\fR" and \fI/file/name\fR is disallowed by default. To enable, edit the \fBallow_mail_to_commands\fR and \fBallow_mail_to_files\fR configuration parameters. .SH "ADDRESS EXTENSION" .na .nf .ad .fi When alias database search fails, and the recipient localpart contains the optional recipient delimiter (e.g., \fIuser+foo\fR), the search is repeated for the unextended address (e.g., \fIuser\fR). The \fBpropagate_unmatched_extensions\fR parameter controls whether an unmatched address extension (\fI+foo\fR) is propagated to the result of table lookup. .SH "CASE FOLDING" .na .nf .ad .fi The local(8) delivery agent always folds the search string to lowercase before database lookup. .SH "SECURITY" .na .nf .ad .fi The \fBlocal\fR(8) delivery agent disallows regular expression substitution of $1 etc. in \fBalias_maps\fR, because that would open a security hole. The \fBlocal\fR(8) delivery agent will silently ignore requests to use the \fBproxymap\fR(8) server within \fBalias_maps\fR. Instead it will open the table directly. Before Postfix version 2.2, the \fBlocal\fR(8) delivery agent will terminate with a fatal error. .SH "CONFIGURATION PARAMETERS" .na .nf .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. .IP \fBalias_database\fR List of alias databases that are updated by the \fBnewaliases\fR(1) command. .IP \fBalias_maps\fR List of alias databases queried by the \fBlocal\fR(8) delivery agent. .IP \fBallow_mail_to_commands\fR Restrict the usage of mail delivery to external command. .IP \fBallow_mail_to_files\fR Restrict the usage of mail delivery to external file. .IP \fBexpand_owner_alias\fR When delivering to an alias that has an \fBowner-\fR companion alias, set the envelope sender address to the right-hand side of the owner alias, instead using of the left-hand side address. .IP \fBpropagate_unmatched_extensions\fR A list of address rewriting or forwarding mechanisms that propagate an address extension from the original address to the result. Specify zero or more of \fBcanonical\fR, \fBvirtual\fR, \fBalias\fR, \fBforward\fR, \fBinclude\fR, or \fBgeneric\fR. .IP \fBowner_request_special\fR Give special treatment to \fBowner-\fIlistname\fR and \fIlistname\fB-request\fR addresses. .IP \fBrecipient_delimiter\fR Delimiter that separates recipients from address extensions. .PP Available in Postfix version 2.3 and later: .IP \fBfrozen_delivered_to\fR Update the local(8) delivery agent's Delivered-To: address (see prepend_delivered_header) only once, at the start of a delivery; do not update the Delivered-To: address while expanding aliases or .forward files. .SH "STANDARDS" .na .nf RFC 822 (ARPA Internet Text Messages) .SH "SEE ALSO" .na .nf local(8), local delivery agent newaliases(1), create/update alias database postalias(1), create/update alias database postconf(5), configuration parameters .SH "README FILES" .na .nf .ad .fi Use "\fBpostconf readme_directory\fR" or "\fBpostconf html_directory\fR" to locate this information. .na .nf DATABASE_README, Postfix lookup table overview .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682d9000081a4000000000000000000000001513697a800002fcf0000010000010031ffffffffffffffff0000002600000000root/usr/local/man/man5/pgsql_table.5.TH PGSQL_TABLE 5 .ad .fi .SH NAME pgsql_table \- Postfix PostgreSQL client configuration .SH "SYNOPSIS" .na .nf \fBpostmap -q "\fIstring\fB" pgsql:/etc/postfix/filename\fR \fBpostmap -q - pgsql:/etc/postfix/\fIfilename\fR <\fIinputfile\fR .SH DESCRIPTION .ad .fi The Postfix mail system uses optional tables for address rewriting or mail routing. These tables are usually in \fBdbm\fR or \fBdb\fR format. Alternatively, lookup tables can be specified as PostgreSQL databases. In order to use PostgreSQL lookups, define a PostgreSQL source as a lookup table in main.cf, for example: .nf alias_maps = pgsql:/etc/pgsql-aliases.cf .fi The file /etc/postfix/pgsql-aliases.cf has the same format as the Postfix main.cf file, and can specify the parameters described below. .SH "BACKWARDS COMPATIBILITY" .na .nf .ad .fi For compatibility with other Postfix lookup tables, PostgreSQL parameters can also be defined in main.cf. In order to do that, specify as PostgreSQL source a name that doesn't begin with a slash or a dot. The PostgreSQL parameters will then be accessible as the name you've given the source in its definition, an underscore, and the name of the parameter. For example, if the map is specified as "pgsql:\fIpgsqlname\fR", the parameter "hosts" below would be defined in main.cf as "\fIpgsqlname\fR_hosts". Note: with this form, the passwords for the PostgreSQL sources are written in main.cf, which is normally world-readable. Support for this form will be removed in a future Postfix version. Normally, the SQL query is specified via a single \fBquery\fR parameter (described in more detail below). When this parameter is not specified in the map definition, Postfix reverts to an older interface, with the SQL query constructed from the \fBselect_function\fR, \fBselect_field\fR, \fBtable\fR, \fBwhere_field\fR and \fBadditional_conditions\fR parameters. The old interface will be gradually phased out. To migrate to the new interface set: .nf \fBquery\fR = SELECT \fIselect_function\fR('%s') .fi or in the absence of \fBselect_function\fR, the lower precedence: .nf \fBquery\fR = SELECT \fIselect_field\fR FROM \fItable\fR WHERE \fIwhere_field\fR = '%s' \fIadditional_conditions\fR .fi Use the value, not the name, of each legacy parameter. Note that the \fBadditional_conditions\fR parameter is optional and if not empty, will always start with \fBAND\fR. .SH "LIST MEMBERSHIP" .na .nf .ad .fi When using SQL to store lists such as $mynetworks, $mydestination, $relay_domains, $local_recipient_maps, etc., it is important to understand that the table must store each list member as a separate key. The table lookup verifies the *existence* of the key. See "Postfix lists versus tables" in the DATABASE_README document for a discussion. Do NOT create tables that return the full list of domains in $mydestination or $relay_domains etc., or IP addresses in $mynetworks. DO create tables with each matching item as a key and with an arbitrary value. With SQL databases it is not uncommon to return the key itself or a constant value. .SH "PGSQL PARAMETERS" .na .nf .ad .fi .IP "\fBhosts\fR" The hosts that Postfix will try to connect to and query from. Specify \fIunix:\fR for UNIX-domain sockets, \fIinet:\fR for TCP connections (default). Example: .nf hosts = host1.some.domain host2.some.domain:port hosts = unix:/file/name .fi The hosts are tried in random order, with all connections over UNIX domain sockets being tried before those over TCP. The connections are automatically closed after being idle for about 1 minute, and are re-opened as necessary. NOTE: the \fIunix:\fR and \fIinet:\fR prefixes are accepted for backwards compatibility reasons, but are actually ignored. The PostgreSQL client library will always try to connect to an UNIX socket if the name starts with a slash, and will try a TCP connection otherwise. .IP "\fBuser, password\fR" The user name and password to log into the pgsql server. Example: .nf user = someone password = some_password .fi .IP "\fBdbname\fR" The database name on the servers. Example: .nf dbname = customer_database .fi .IP "\fBquery\fR" The SQL query template used to search the database, where \fB%s\fR is a substitute for the address Postfix is trying to resolve, e.g. .nf query = SELECT replacement FROM aliases WHERE mailbox = '%s' .fi This parameter supports the following '%' expansions: .RS .IP "\fB\fB%%\fR\fR" This is replaced by a literal '%' character. (Postfix 2.2 and later) .IP "\fB\fB%s\fR\fR" This is replaced by the input key. SQL quoting is used to make sure that the input key does not add unexpected metacharacters. .IP "\fB\fB%u\fR\fR" When the input key is an address of the form user@domain, \fB%u\fR is replaced by the SQL quoted local part of the address. Otherwise, \fB%u\fR is replaced by the entire search string. If the localpart is empty, the query is suppressed and returns no results. .IP "\fB\fB%d\fR\fR" When the input key is an address of the form user@domain, \fB%d\fR is replaced by the SQL quoted domain part of the address. Otherwise, the query is suppressed and returns no results. .IP "\fB\fB%[SUD]\fR\fR" The upper-case equivalents of the above expansions behave in the \fBquery\fR parameter identically to their lower-case counter-parts. With the \fBresult_format\fR parameter (see below), they expand the input key rather than the result value. .IP The above %S, %U and %D expansions are available with Postfix 2.2 and later .IP "\fB\fB%[1-9]\fR\fR" The patterns %1, %2, ... %9 are replaced by the corresponding most significant component of the input key's domain. If the input key is \fIuser@mail.example.com\fR, then %1 is \fBcom\fR, %2 is \fBexample\fR and %3 is \fBmail\fR. If the input key is unqualified or does not have enough domain components to satisfy all the specified patterns, the query is suppressed and returns no results. .IP The above %1, ... %9 expansions are available with Postfix 2.2 and later .RE .IP The \fBdomain\fR parameter described below limits the input keys to addresses in matching domains. When the \fBdomain\fR parameter is non-empty, SQL queries for unqualified addresses or addresses in non-matching domains are suppressed and return no results. The precedence of this parameter has changed with Postfix 2.2, in prior releases the precedence was, from highest to lowest, \fBselect_function\fR, \fBquery\fR, \fBselect_field\fR, ... With Postfix 2.2 the \fBquery\fR parameter has highest precedence, see COMPATIBILITY above. NOTE: DO NOT put quotes around the \fBquery\fR parameter. .IP "\fBresult_format (default: \fB%s\fR)\fR" Format template applied to result attributes. Most commonly used to append (or prepend) text to the result. This parameter supports the following '%' expansions: .RS .IP "\fB\fB%%\fR\fR" This is replaced by a literal '%' character. .IP "\fB\fB%s\fR\fR" This is replaced by the value of the result attribute. When result is empty it is skipped. .IP "\fB%u\fR When the result attribute value is an address of the form user@domain, \fB%u\fR is replaced by the local part of the address. When the result has an empty localpart it is skipped. .IP "\fB\fB%d\fR\fR" When a result attribute value is an address of the form user@domain, \fB%d\fR is replaced by the domain part of the attribute value. When the result is unqualified it is skipped. .IP "\fB\fB%[SUD1-9]\fR\fB" The upper-case and decimal digit expansions interpolate the parts of the input key rather than the result. Their behavior is identical to that described with \fBquery\fR, and in fact because the input key is known in advance, queries whose key does not contain all the information specified in the result template are suppressed and return no results. .RE .IP For example, using "result_format = smtp:[%s]" allows one to use a mailHost attribute as the basis of a transport(5) table. After applying the result format, multiple values are concatenated as comma separated strings. The expansion_limit and parameter explained below allows one to restrict the number of values in the result, which is especially useful for maps that must return at most one value. The default value \fB%s\fR specifies that each result value should be used as is. This parameter is available with Postfix 2.2 and later. NOTE: DO NOT put quotes around the result format! .IP "\fBdomain (default: no domain list)\fR" This is a list of domain names, paths to files, or dictionaries. When specified, only fully qualified search keys with a *non-empty* localpart and a matching domain are eligible for lookup: 'user' lookups, bare domain lookups and "@domain" lookups are not performed. This can significantly reduce the query load on the PostgreSQL server. .nf domain = postfix.org, hash:/etc/postfix/searchdomains .fi It is best not to use SQL to store the domains eligible for SQL lookups. This parameter is available with Postfix 2.2 and later. NOTE: DO NOT define this parameter for local(8) aliases, because the input keys are always unqualified. .IP "\fBexpansion_limit (default: 0)\fR" A limit on the total number of result elements returned (as a comma separated list) by a lookup against the map. A setting of zero disables the limit. Lookups fail with a temporary error if the limit is exceeded. Setting the limit to 1 ensures that lookups do not return multiple values. .SH "OBSOLETE QUERY INTERFACES" .na .nf .ad .fi This section describes query interfaces that are deprecated as of Postfix 2.2. Please migrate to the new \fBquery\fR interface as the old interfaces are slated to be phased out. .IP "\fBselect_function\fR" This parameter specifies a database function name. Example: .nf select_function = my_lookup_user_alias .fi This is equivalent to: .nf query = SELECT my_lookup_user_alias('%s') .fi This parameter overrides the legacy table-related fields (described below). With Postfix versions prior to 2.2, it also overrides the \fBquery\fR parameter. Starting with Postfix 2.2, the \fBquery\fR parameter has highest precedence, and the \fBselect_function\fR parameter is deprecated. .PP The following parameters (with lower precedence than the \fBselect_function\fR interface described above) can be used to build the SQL select statement as follows: .nf SELECT [\fBselect_field\fR] FROM [\fBtable\fR] WHERE [\fBwhere_field\fR] = '%s' [\fBadditional_conditions\fR] .fi The specifier %s is replaced with each lookup by the lookup key and is escaped so if it contains single quotes or other odd characters, it will not cause a parse error, or worse, a security problem. Starting with Postfix 2.2, this interface is obsoleted by the more general \fBquery\fR interface described above. If higher precedence the \fBquery\fR or \fBselect_function\fR parameters described above are defined, the parameters described here are ignored. .IP "\fBselect_field\fR" The SQL "select" parameter. Example: .nf \fBselect_field\fR = forw_addr .fi .IP "\fBtable\fR" The SQL "select .. from" table name. Example: .nf \fBtable\fR = mxaliases .fi .IP "\fBwhere_field\fR The SQL "select .. where" parameter. Example: .nf \fBwhere_field\fR = alias .fi .IP "\fBadditional_conditions\fR Additional conditions to the SQL query. Example: .nf \fBadditional_conditions\fR = AND status = 'paid' .fi .SH "SEE ALSO" .na .nf postmap(1), Postfix lookup table manager postconf(5), configuration parameters ldap_table(5), LDAP lookup tables mysql_table(5), MySQL lookup tables sqlite_table(5), SQLite lookup tables .SH "README FILES" .na .nf .ad .fi Use "\fBpostconf readme_directory\fR" or "\fBpostconf html_directory\fR" to locate this information. .na .nf DATABASE_README, Postfix lookup table overview PGSQL_README, Postfix PostgreSQL client guide .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "HISTORY" .na .nf PgSQL support was introduced with Postfix version 2.1. .SH "AUTHOR(S)" .na .nf Based on the MySQL client by: Scott Cotton, Joshua Marcus IC Group, Inc. Ported to PostgreSQL by: Aaron Sethman Further enhanced by: Liviu Daia Institute of Mathematics of the Romanian Academy P.O. BOX 1-764 RO-014700 Bucharest, ROMANIA 070701000682e0000081a4000000000000000000000001513697a800002aa60000010000010031ffffffffffffffff0000002400000000root/usr/local/man/man5/transport.5.TH TRANSPORT 5 .ad .fi .SH NAME transport \- Postfix transport table format .SH "SYNOPSIS" .na .nf \fBpostmap /etc/postfix/transport\fR \fBpostmap -q "\fIstring\fB" /etc/postfix/transport\fR \fBpostmap -q - /etc/postfix/transport <\fIinputfile\fR .SH DESCRIPTION .ad .fi The optional \fBtransport\fR(5) table specifies a mapping from email addresses to message delivery transports and next-hop destinations. Message delivery transports such as \fBlocal\fR or \fBsmtp\fR are defined in the \fBmaster.cf\fR file, and next-hop destinations are typically hosts or domain names. The table is searched by the \fBtrivial-rewrite\fR(8) daemon. 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_dependent_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 \fBsender_dependent_default_transport_maps, \fBdefault_transport\fR, \fBsender_dependent_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. The result, an indexed file in \fBdbm\fR or \fBdb\fR format, is used for fast searching by the mail system. Execute the command "\fBpostmap /etc/postfix/transport\fR" to rebuild an indexed file after changing the corresponding transport table. 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-expression map where patterns are given as regular expressions, or lookups can be directed to TCP-based server. In those case, the lookups are done in a slightly different way as described below under "REGULAR EXPRESSION TABLES" or "TCP-BASED TABLES". .SH "CASE FOLDING" .na .nf .ad .fi The search string is folded to lowercase before database lookup. As of Postfix 2.3, the search string is not case folded with database types such as regexp: or pcre: whose lookup fields can match both upper and lower case. .SH "TABLE FORMAT" .na .nf .ad .fi The input format for the \fBpostmap\fR(1) command is as follows: .IP "\fIpattern result\fR" When \fIpattern\fR matches the recipient address or domain, use the corresponding \fIresult\fR. .IP "blank lines and comments" Empty lines and whitespace-only lines are ignored, as are lines whose first non-whitespace character is a `#'. .IP "multi-line text" A logical line starts with non-whitespace text. A line that starts with whitespace continues a logical line. .PP The \fIpattern\fR specifies an email address, a domain name, or a domain name hierarchy, as described in section "TABLE LOOKUP". The \fIresult\fR is of the form \fItransport:nexthop\fR and specifies how or where to deliver mail. This is described in section "RESULT FORMAT". .SH "TABLE SEARCH ORDER" .na .nf .ad .fi With lookups from indexed files such as DB or DBM, or from networked tables such as NIS, LDAP or SQL, patterns are tried in the order as listed below: .IP "\fIuser+extension@domain transport\fR:\fInexthop\fR" Deliver mail for \fIuser+extension@domain\fR through \fItransport\fR to \fInexthop\fR. .IP "\fIuser@domain transport\fR:\fInexthop\fR" Deliver mail for \fIuser@domain\fR through \fItransport\fR to \fInexthop\fR. .IP "\fIdomain transport\fR:\fInexthop\fR" Deliver mail for \fIdomain\fR through \fItransport\fR to \fInexthop\fR. .IP "\fI.domain transport\fR:\fInexthop\fR" Deliver mail for any subdomain of \fIdomain\fR through \fItransport\fR to \fInexthop\fR. This applies only when the string \fBtransport_maps\fR is not listed in the \fBparent_domain_matches_subdomains\fR configuration setting. Otherwise, a domain name matches itself and its subdomains. .IP "\fB*\fI transport\fR:\fInexthop\fR" The special pattern \fB*\fR represents any address (i.e. it functions as the wild-card pattern, and is unique to Postfix transport tables). .PP Note 1: the null recipient address is looked up as \fB$empty_address_recipient\fR@\fB$myhostname\fR (default: mailer-daemon@hostname). Note 2: \fIuser@domain\fR or \fIuser+extension@domain\fR lookup is available in Postfix 2.0 and later. .SH "RESULT FORMAT" .na .nf .ad .fi The lookup result is of the form \fItransport\fB:\fInexthop\fR. The \fItransport\fR field specifies a mail delivery transport such as \fBsmtp\fR or \fBlocal\fR. The \fInexthop\fR field specifies where and how to deliver mail. The transport field specifies the name of a mail delivery transport (the first name of a mail delivery service entry in the Postfix \fBmaster.cf\fR file). The interpretation of the nexthop field is transport dependent. In the case of SMTP, specify a service on a non-default port as \fIhost\fR:\fIservice\fR, and disable MX (mail exchanger) DNS lookups with [\fIhost\fR] or [\fIhost\fR]:\fIport\fR. The [] form is required when you specify an IP address instead of a hostname. A null \fItransport\fR and null \fInexthop\fR result means "do not change": use the delivery transport and nexthop information that would be used when the entire transport table did not exist. A non-null \fItransport\fR field with a null \fInexthop\fR field resets the nexthop information to the recipient domain. A null \fItransport\fR field with non-null \fInexthop\fR field does not modify the transport information. .SH "EXAMPLES" .na .nf .ad .fi 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 transport or the nexthop information) and specify a wildcard for all other destinations. .nf \fB\&my.domain :\fR \fB\&.my.domain :\fR \fB* smtp:outbound-relay.my.domain\fR .fi In order to send mail for \fBexample.com\fR and its subdomains via the \fBuucp\fR transport to the UUCP host named \fBexample\fR: .nf \fBexample.com uucp:example\fR \fB\&.example.com uucp:example\fR .fi When no nexthop host name is specified, the destination domain name is used instead. For example, the following directs mail for \fIuser\fR@\fBexample.com\fR via the \fBslow\fR transport to a mail exchanger for \fBexample.com\fR. The \fBslow\fR transport could be configured to run at most one delivery process at a time: .nf \fBexample.com slow:\fR .fi When no transport is specified, Postfix uses the transport that matches the address domain class (see DESCRIPTION above). The following sends all mail for \fBexample.com\fR and its subdomains to host \fBgateway.example.com\fR: .nf \fBexample.com :[gateway.example.com]\fR \fB\&.example.com :[gateway.example.com]\fR .fi In the above example, the [] suppress MX lookups. This prevents mail routing loops when your machine is primary MX host for \fBexample.com\fR. In the case of delivery via SMTP, one may specify \fIhostname\fR:\fIservice\fR instead of just a host: .nf \fBexample.com smtp:bar.example:2025\fR .fi This directs mail for \fIuser\fR@\fBexample.com\fR to host \fBbar.example\fR port \fB2025\fR. Instead of a numerical port a symbolic name may be used. Specify [] around the hostname if MX lookups must be disabled. The error mailer can be used to bounce mail: .nf \fB\&.example.com error:mail for *.example.com is not deliverable\fR .fi This causes all mail for \fIuser\fR@\fIanything\fB.example.com\fR to be bounced. .SH "REGULAR EXPRESSION TABLES" .na .nf .ad .fi 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, see \fBregexp_table\fR(5) or \fBpcre_table\fR(5). Each pattern is a regular expression that is applied to the entire address being looked up. Thus, \fIsome.domain.hierarchy\fR is not looked up via its parent domains, nor is \fIuser+foo@domain\fR looked up as \fIuser@domain\fR. Patterns are applied in the order as specified in the table, until a pattern is found that matches the search string. The \fBtrivial-rewrite\fR(8) server disallows regular expression substitution of $1 etc. in regular expression lookup tables, because that could open a security hole (Postfix version 2.3 and later). .SH "TCP-BASED TABLES" .na .nf .ad .fi This section describes how the table lookups change when lookups are directed to a TCP-based server. For a description of the TCP client/server lookup protocol, see \fBtcp_table\fR(5). This feature is not available up to and including Postfix version 2.4. Each lookup operation uses the entire recipient address once. Thus, \fIsome.domain.hierarchy\fR is not looked up via its parent domains, nor is \fIuser+foo@domain\fR looked up as \fIuser@domain\fR. Results are the same as with indexed file lookups. .SH "CONFIGURATION PARAMETERS" .na .nf .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. .IP \fBempty_address_recipient\fR The address that is looked up instead of the null sender address. .IP \fBparent_domain_matches_subdomains\fR List of Postfix features that use \fIdomain.tld\fR patterns to match \fIsub.domain.tld\fR (as opposed to requiring \fI.domain.tld\fR patterns). .IP \fBtransport_maps\fR List of transport lookup tables. .SH "SEE ALSO" .na .nf trivial-rewrite(8), rewrite and resolve addresses master(5), master.cf file format postconf(5), configuration parameters postmap(1), Postfix lookup table manager .SH "README FILES" .na .nf .ad .fi Use "\fBpostconf readme_directory\fR" or "\fBpostconf html_directory\fR" to locate this information. .na .nf ADDRESS_REWRITING_README, address rewriting guide DATABASE_README, Postfix lookup table overview FILTER_README, external content filter .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682d7000081a4000000000000000000000001513697a80000097d0000010000010031ffffffffffffffff0000002800000000root/usr/local/man/man5/nisplus_table.5.TH NISPLUS_TABLE 5 .ad .fi .SH NAME nisplus_table \- Postfix NIS+ client .SH "SYNOPSIS" .na .nf \fBpostmap -q "\fIstring\fB" "nisplus:[\fIname\fB=%s];\fIname.name.\fB"\fR \fBpostmap -q - "nisplus:[\fIname\fB=%s];\fIname.name.\fB"\fR <\fIinputfile\fR .SH DESCRIPTION .ad .fi The Postfix mail system uses optional lookup tables. These tables are usually in \fBdbm\fR or \fBdb\fR format. Alternatively, lookup tables can be specified as NIS+ databases. To find out what types of lookup tables your Postfix system supports use the "\fBpostconf -m\fR" command. To test Postfix NIS+ lookup tables, use the "\fBpostmap -q\fR" command as described in the SYNOPSIS above. .SH "QUERY SYNTAX" .na .nf .ad .fi Most of the NIS+ query is specified via the NIS+ map name. The general format of a Postfix NIS+ map name is as follows: .fi \fBnisplus:[\fIname\fB=%s];\fIname.name.name\fB.:\fIcolumn\fR .fi Postfix NIS+ map names differ from what one normally would use with commands such as \fBniscat\fR: .IP \(bu With each NIS+ table lookup, "\fB%s\fR" is replaced by a version of the lookup string. There can be only one "\fB%s\fR" instance in a Postfix NIS+ map name. .IP \(bu Postfix NIS+ map names use "\fB;\fR" instead of "\fB,\fR", because the latter character is special in the Postfix main.cf file. Postfix replaces "\fB;\fR" characters in the map name by "\fB,\fR" before making NIS+ queries. .IP \(bu The ":\fIcolumn\fR" part in the NIS+ map name is not part of the actual NIS+ query. Instead, it specifies the number of the table column that provides the lookup result. When no ":\fIcolumn\fR" is specified the first column (1) is used. .SH "EXAMPLE" .na .nf .ad .fi A NIS+ aliases map might be queried as follows: .nf alias_maps = dbm:/etc/mail/aliases, nisplus:[alias=%s];mail_aliases.org_dir.$mydomain.:1 .fi This queries the local aliases file before the NIS+ file. .SH "SEE ALSO" .na .nf postmap(1), Postfix lookup table manager .SH "README FILES" .na .nf .ad .fi Use "\fBpostconf readme_directory\fR" or "\fBpostconf html_directory\fR" to locate this information. .na .nf DATABASE_README, Postfix lookup table overview .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "AUTHOR(S)" .na .nf Geoff Gibbs UK-HGMP-RC Hinxton Cambridge CB10 1SB, UK Adopted and adapted by: Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682e1000081a4000000000000000000000001513697a8000029b10000010000010031ffffffffffffffff0000002200000000root/usr/local/man/man5/virtual.5.TH VIRTUAL 5 .ad .fi .SH NAME virtual \- Postfix virtual alias table format .SH "SYNOPSIS" .na .nf \fBpostmap /etc/postfix/virtual\fR \fBpostmap -q "\fIstring\fB" /etc/postfix/virtual\fR \fBpostmap -q - /etc/postfix/virtual <\fIinputfile\fR .SH DESCRIPTION .ad .fi The optional \fBvirtual\fR(5) alias table rewrites recipient addresses for all local, all virtual, and all remote mail destinations. This is unlike the \fBaliases\fR(5) table which is used only for \fBlocal\fR(8) delivery. Virtual aliasing is recursive, and is implemented by the Postfix \fBcleanup\fR(8) daemon before mail is queued. The main applications of virtual aliasing are: .IP \(bu To redirect mail for one address to one or more addresses. .IP \(bu To implement virtual alias domains where all addresses are aliased to addresses in other domains. .sp Virtual alias domains are not to be confused with the virtual mailbox domains that are implemented with the Postfix \fBvirtual\fR(8) mail delivery agent. With virtual mailbox domains, each recipient address can have its own mailbox. .PP Virtual aliasing is applied only to recipient envelope addresses, and does not affect message headers. Use \fBcanonical\fR(5) mapping to rewrite header and envelope addresses in general. Normally, the \fBvirtual\fR(5) alias table is specified as a text file that serves as input to the \fBpostmap\fR(1) command. The result, an indexed file in \fBdbm\fR or \fBdb\fR format, is used for fast searching by the mail system. Execute the command "\fBpostmap /etc/postfix/virtual\fR" to rebuild an indexed file after changing the corresponding text file. 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-expression map where patterns are given as regular expressions, or lookups can be directed to TCP-based server. In those case, the lookups are done in a slightly different way as described below under "REGULAR EXPRESSION TABLES" or "TCP-BASED TABLES". .SH "CASE FOLDING" .na .nf .ad .fi The search string is folded to lowercase before database lookup. As of Postfix 2.3, the search string is not case folded with database types such as regexp: or pcre: whose lookup fields can match both upper and lower case. .SH "TABLE FORMAT" .na .nf .ad .fi The input format for the \fBpostmap\fR(1) command is as follows: .IP "\fIpattern result\fR" When \fIpattern\fR matches a mail address, replace it by the corresponding \fIresult\fR. .IP "blank lines and comments" Empty lines and whitespace-only lines are ignored, as are lines whose first non-whitespace character is a `#'. .IP "multi-line text" A logical line starts with non-whitespace text. A line that starts with whitespace continues a logical line. .SH "TABLE SEARCH ORDER" .na .nf .ad .fi With lookups from indexed files such as DB or DBM, or from networked tables such as NIS, LDAP or SQL, patterns are tried in the order as listed below: .IP "\fIuser\fR@\fIdomain address, address, ...\fR" Redirect mail for \fIuser\fR@\fIdomain\fR to \fIaddress\fR. This form has the highest precedence. .IP "\fIuser address, address, ...\fR" Redirect mail for \fIuser\fR@\fIsite\fR to \fIaddress\fR when \fIsite\fR is equal to $\fBmyorigin\fR, when \fIsite\fR is listed in $\fBmydestination\fR, or when it is listed in $\fBinet_interfaces\fR or $\fBproxy_interfaces\fR. .sp This functionality overlaps with functionality of the local \fIaliases\fR(5) database. The difference is that \fBvirtual\fR(5) mapping can be applied to non-local addresses. .IP "@\fIdomain address, address, ...\fR" Redirect mail for other users in \fIdomain\fR to \fIaddress\fR. This form has the lowest precedence. .sp Note: @\fIdomain\fR is a wild-card. With this form, the Postfix SMTP server accepts mail for any recipient in \fIdomain\fR, regardless of whether that recipient exists. This may turn your mail system into a backscatter source: Postfix first accepts mail for non-existent recipients and then tries to return that mail as "undeliverable" to the often forged sender address. .SH "RESULT ADDRESS REWRITING" .na .nf .ad .fi The lookup result is subject to address rewriting: .IP \(bu When the result has the form @\fIotherdomain\fR, the result becomes the same \fIuser\fR in \fIotherdomain\fR. This works only for the first address in a multi-address lookup result. .IP \(bu When "\fBappend_at_myorigin=yes\fR", append "\fB@$myorigin\fR" to addresses without "@domain". .IP \(bu When "\fBappend_dot_mydomain=yes\fR", append "\fB.$mydomain\fR" to addresses without ".domain". .SH "ADDRESS EXTENSION" .na .nf .fi .ad When a mail address localpart contains the optional recipient delimiter (e.g., \fIuser+foo\fR@\fIdomain\fR), the lookup order becomes: \fIuser+foo\fR@\fIdomain\fR, \fIuser\fR@\fIdomain\fR, \fIuser+foo\fR, \fIuser\fR, and @\fIdomain\fR. The \fBpropagate_unmatched_extensions\fR parameter controls whether an unmatched address extension (\fI+foo\fR) is propagated to the result of table lookup. .SH "VIRTUAL ALIAS DOMAINS" .na .nf .ad .fi Besides virtual aliases, the virtual alias table can also be used to implement virtual alias domains. With a virtual alias domain, all recipient addresses are aliased to addresses in other domains. Virtual alias domains are not to be confused with the virtual mailbox domains that are implemented with the Postfix \fBvirtual\fR(8) mail delivery agent. With virtual mailbox domains, each recipient address can have its own mailbox. With a virtual alias domain, the virtual domain has its own user name space. Local (i.e. non-virtual) usernames are not visible in a virtual alias domain. In particular, local \fBaliases\fR(5) and local mailing lists are not visible as \fIlocalname@virtual-alias.domain\fR. Support for a virtual alias domain looks like: .nf /etc/postfix/main.cf: virtual_alias_maps = hash:/etc/postfix/virtual .fi Note: some systems use \fBdbm\fR databases instead of \fBhash\fR. See the output from "\fBpostconf -m\fR" for available database types. .nf /etc/postfix/virtual: \fIvirtual-alias.domain anything\fR (right-hand content does not matter) \fIpostmaster@virtual-alias.domain postmaster\fR \fIuser1@virtual-alias.domain address1\fR \fIuser2@virtual-alias.domain address2, address3\fR .fi .sp The \fIvirtual-alias.domain anything\fR entry is required for a virtual alias domain. \fBWithout this entry, mail is rejected with "relay access denied", or bounces with "mail loops back to myself".\fR Do not specify virtual alias domain names in the \fBmain.cf mydestination\fR or \fBrelay_domains\fR configuration parameters. With a virtual alias domain, the Postfix SMTP server accepts mail for \fIknown-user@virtual-alias.domain\fR, and rejects mail for \fIunknown-user\fR@\fIvirtual-alias.domain\fR as undeliverable. Instead of specifying the virtual alias domain name via the \fBvirtual_alias_maps\fR table, you may also specify it via the \fBmain.cf virtual_alias_domains\fR configuration parameter. This latter parameter uses the same syntax as the \fBmain.cf mydestination\fR configuration parameter. .SH "REGULAR EXPRESSION TABLES" .na .nf .ad .fi 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, see \fBregexp_table\fR(5) or \fBpcre_table\fR(5). Each pattern is a regular expression that is applied to the entire address being looked up. Thus, \fIuser@domain\fR mail addresses are not broken up into their \fIuser\fR and \fI@domain\fR constituent parts, nor is \fIuser+foo\fR broken up into \fIuser\fR and \fIfoo\fR. Patterns are applied in the order as specified in the table, 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 the pattern can be interpolated as \fB$1\fR, \fB$2\fR and so on. .SH "TCP-BASED TABLES" .na .nf .ad .fi This section describes how the table lookups change when lookups are directed to a TCP-based server. For a description of the TCP client/server lookup protocol, see \fBtcp_table\fR(5). This feature is not available up to and including Postfix version 2.4. Each lookup operation uses the entire address once. Thus, \fIuser@domain\fR mail addresses are not broken up into their \fIuser\fR and \fI@domain\fR constituent parts, nor is \fIuser+foo\fR broken up into \fIuser\fR and \fIfoo\fR. Results are the same as with indexed file lookups. .SH BUGS .ad .fi The table format does not understand quoting conventions. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi The following \fBmain.cf\fR parameters are especially relevant to this topic. See the Postfix \fBmain.cf\fR file for syntax details and for default values. Use the "\fBpostfix reload\fR" command after a configuration change. .IP \fBvirtual_alias_maps\fR List of virtual aliasing tables. .IP \fBvirtual_alias_domains\fR List of virtual alias domains. This uses the same syntax as the \fBmydestination\fR parameter. .IP \fBpropagate_unmatched_extensions\fR A list of address rewriting or forwarding mechanisms that propagate an address extension from the original address to the result. Specify zero or more of \fBcanonical\fR, \fBvirtual\fR, \fBalias\fR, \fBforward\fR, \fBinclude\fR, or \fBgeneric\fR. .PP Other parameters of interest: .IP \fBinet_interfaces\fR The network interface addresses that this system receives mail on. You need to stop and start Postfix when this parameter changes. .IP \fBmydestination\fR List of domains that this mail system considers local. .IP \fBmyorigin\fR The domain that is appended to any address that does not have a domain. .IP \fBowner_request_special\fR Give special treatment to \fBowner-\fIxxx\fR and \fIxxx\fB-request\fR addresses. .IP \fBproxy_interfaces\fR Other interfaces that this machine receives mail on by way of a proxy agent or network address translator. .SH "SEE ALSO" .na .nf cleanup(8), canonicalize and enqueue mail postmap(1), Postfix lookup table manager postconf(5), configuration parameters canonical(5), canonical address mapping .SH "README FILES" .na .nf .ad .fi Use "\fBpostconf readme_directory\fR" or "\fBpostconf html_directory\fR" to locate this information. .na .nf ADDRESS_REWRITING_README, address rewriting guide DATABASE_README, Postfix lookup table overview VIRTUAL_README, domain hosting guide .SH "LICENSE" .na .nf .ad .fi The Secure Mailer license must be distributed with this software. .SH "AUTHOR(S)" .na .nf Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA 070701000682d2000081a4000000000000000000000001513697a8000043e70000010000010031ffffffffffffffff0000002800000000root/usr/local/man/man5/header_checks.5.TH HEADER_CHECKS 5 .ad .fi .SH NAME header_checks \- Postfix built-in content inspection .SH "SYNOPSIS" .na .nf .nf \fBheader_checks = pcre:/etc/postfix/header_checks\fR \fBmime_header_checks = pcre:/etc/postfix/mime_header_checks\fR \fBnested_header_checks = pcre:/etc/postfix/nested_header_checks\fR \fBbody_checks = pcre:/etc/postfix/body_checks\fR .sp \fBmilter_header_checks = pcre:/etc/postfix/milter_header_checks\fR .sp \fBsmtp_header_checks = pcre:/etc/postfix/smtp_header_checks\fR \fBsmtp_mime_header_checks = pcre:/etc/postfix/smtp_mime_header_checks\fR \fBsmtp_nested_header_checks = pcre:/etc/postfix/smtp_nested_header_checks\fR \fBsmtp_body_checks = pcre:/etc/postfix/smtp_body_checks\fR .sp \fBpostmap -q "\fIstring\fB" pcre:/etc/postfix/\fIfilename\fR \fBpostmap -q - pcre:/etc/postfix/\fIfilename\fR <\fIinputfile\fR .fi .SH DESCRIPTION .ad .fi This document describes access control on the content of message headers and message body lines; it is implemented by the Postfix \fBcleanup\fR(8) server before mail is queued. See \fBaccess\fR(5) for access control on remote SMTP client information. Each message header or message body line is compared against a list of patterns. When a match is found the corresponding action is executed, and the matching process is repeated for the next message header or message body line. Note: message headers are examined one logical header at a time, even when a message header spans multiple lines. Body lines are always examined one line at a time. For examples, see the EXAMPLES section at the end of this manual page. Postfix header or body_checks are designed to stop a flood of mail from worms or viruses; they do not decode attachments, and they do not unzip archives. See the documents referenced below in the README FILES section if you need more sophisticated content analysis. .SH "FILTERS WHILE RECEIVING MAIL" .na .nf .ad .fi Postfix implements the following four built-in content inspection classes while receiving mail: .IP "\fBheader_checks\fR (default: empty)" These are applied to initial message headers (except for the headers that are processed with \fBmime_header_checks\fR). .IP "\fBmime_header_checks\fR (default: \fB$header_checks\fR)" These are applied to MIME related message headers only. .sp This feature is available in Postfix 2.0 and later. .IP "\fBnested_header_checks\fR (default: \fB$header_checks\fR)" These are applied to message headers of attached email messages (except for the headers that are processed with \fBmime_header_checks\fR). .sp This feature is available in Postfix 2.0 and later. .IP \fBbody_checks\fR These are applied to all other content, including multi-part message boundaries. .sp With Postfix versions before 2.0, all content after the initial message headers is treated as body content. .SH "FILTERS AFTER RECEIVING MAIL" .na .nf .ad .fi Postfix supports a subset of the built-in content inspection classes after the message is received: .IP "\fBmilter_header_checks\fR (default: empty)" These are applied to headers that are added with Milter applications. .sp This feature is available in Postfix 2.7 and later. .SH "FILTERS WHILE DELIVERING MAIL" .na .nf .ad .fi Postfix supports all four content inspection classes while delivering mail via SMTP. .IP "\fBsmtp_header_checks\fR (default: empty)" .IP "\fBsmtp_mime_header_checks\fR (default: empty)" .IP "\fBsmtp_nested_header_checks\fR (default: empty)" .IP "\fBsmtp_body_checks\fR (default: empty)" These features are available in Postfix 2.5 and later. .SH "COMPATIBILITY" .na .nf .ad .fi With Postfix version 2.2 and earlier specify "\fBpostmap -fq\fR" to query a table that contains case sensitive patterns. By default, regexp: and pcre: patterns are case insensitive. .SH "TABLE FORMAT" .na .nf .ad .fi This document assumes that header and body_checks rules are specified in the form of Postfix regular expression lookup tables. Usually the best performance is obtained with \fBpcre\fR (Perl Compatible Regular Expression) tables, but the slower \fBregexp\fR (POSIX regular expressions) support is more widely available. Use the command "\fBpostconf -m\fR" to find out what lookup table types your Postfix system supports. The general format of Postfix regular expression tables is given below. For a discussion of specific pattern or flags syntax, see \fBpcre_table\fR(5) or \fBregexp_table\fR(5), respectively. .IP "\fB/\fIpattern\fB/\fIflags action\fR" When /\fIpattern\fR/ matches the input string, execute the corresponding \fIaction\fR. See below for a list of possible actions. .IP "\fB!/\fIpattern\fB/\fIflags action\fR" When /\fIpattern\fR/ does \fBnot\fR match the input string, execute the corresponding \fIaction\fR. .IP "\fBif /\fIpattern\fB/\fIflags\fR" .IP "\fBendif\fR" Match the input string against the patterns between \fBif\fR and \fBendif\fR, if and only if the same input string also matches /\fIpattern\fR/. The \fBif\fR..\fBendif\fR can nest. .sp Note: do not prepend whitespace to patterns inside \fBif\fR..\fBendif\fR. .IP "\fBif !/\fIpattern\fB/\fIflags\fR" .IP "\fBendif\fR" Match the input string against the patterns between \fBif\fR and \fBendif\fR, if and only if the same input string does \fBnot\fR match /\fIpattern\fR/. The \fBif\fR..\fBendif\fR can nest. .IP "blank lines and comments" Empty lines and whitespace-only lines are ignored, as are lines whose first non-whitespace character is a `#'. .IP "multi-line text" A pattern/action line starts with non-whitespace text. A line that starts with whitespace continues a logical line. .SH "TABLE SEARCH ORDER" .na .nf .ad .fi For each line of message input, the patterns are applied in the order as specified in the table. When a pattern is found that matches the input line, the corresponding action is executed and then the next input line is inspected. .SH "TEXT SUBSTITUTION" .na .nf .ad .fi Substitution of substrings from the matched expression into the \fIaction\fR string is possible using the conventional Perl syntax (\fB$1\fR, \fB$2\fR, etc.). The macros in the result string may need to be written as \fB${n}\fR or \fB$(n)\fR if they aren't followed by whitespace. Note: since negated patterns (those preceded by \fB!\fR) return a result when the expression does not match, substitutions are not available for negated patterns. .SH "ACTIONS" .na .nf .ad .fi Action names are case insensitive. They are shown in upper case for consistency with other Postfix documentation. .IP "\fBDISCARD \fIoptional text...\fR" Claim successful delivery and silently discard the message. Log the optional text if specified, otherwise log a generic message. .sp Note: this action disables further header or body_checks inspection of the current message and affects all recipients. To discard only one recipient without discarding the entire message, use the transport(5) table to direct mail to the discard(8) service. .sp This feature is available in Postfix 2.0 and later. .sp This feature is not supported with smtp header/body checks. .IP \fBDUNNO\fR Pretend that the input line did not match any pattern, and inspect the next input line. This action can be used to shorten the table search. .sp For backwards compatibility reasons, Postfix also accepts \fBOK\fR but it is (and always has been) treated as \fBDUNNO\fR. .sp This feature is available in Postfix 2.1 and later. .IP "\fBFILTER \fItransport:destination\fR" After the message is queued, send the entire message through the specified external content filter. The \fItransport\fR name specifies the first field of a mail delivery agent definition in master.cf; the syntax of the next-hop \fIdestination\fR is described in the manual page of the corresponding delivery agent. More information about external content filters is in the Postfix FILTER_README file. .sp Note 1: do not use $\fInumber\fR regular expression substitutions for \fItransport\fR or \fIdestination\fR unless you know that the information has a trusted origin. .sp Note 2: this action overrides the main.cf \fBcontent_filter\fR setting, and affects all recipients of the message. In the case that multiple \fBFILTER\fR actions fire, only the last one is executed. .sp Note 3: the purpose of the FILTER command is to override message routing. To override the recipient's \fItransport\fR but not the next-hop \fIdestination\fR, specify an empty filter \fIdestination\fR (Postfix 2.7 and later), or specify a \fItransport:destination\fR that delivers through a different Postfix instance (Postfix 2.6 and earlier). Other options are using the recipient-dependent \fBtrans\%port\%_maps\fR or the sen\%der-dependent \fBsender\%_de\%pen\%dent\%_de\%fault\%_trans\%port\%_maps\fR features. .sp This feature is available in Postfix 2.0 and later. .sp This feature is not supported with smtp header/body checks. .IP "\fBHOLD \fIoptional text...\fR" Arrange for the message to be placed on the \fBhold\fR queue, and inspect the next input line. The message remains on \fBhold\fR until someone either deletes it or releases it for delivery. Log the optional text if specified, otherwise log a generic message. Mail that is placed on hold can be examined with the \fBpostcat\fR(1) command, and can be destroyed or released with the \fBpostsuper\fR(1) command. .sp Note: use "\fBpostsuper -r\fR" to release mail that was kept on hold for a significant fraction of \fB$maximal_queue_lifetime\fR or \fB$bounce_queue_lifetime\fR, or longer. Use "\fBpostsuper -H\fR" only for mail that will not expire within a few delivery attempts. .sp Note: this action affects all recipients of the message. .sp This feature is available in Postfix 2.0 and later. .sp This feature is not supported with smtp header/body checks. .IP \fBIGNORE\fR Delete the current line from the input, and inspect the next input line. .IP "\fBINFO \fIoptional text...\fR Log an "info:" record with the \fIoptional text...\fR (or log a generic text), and inspect the next input line. This action is useful for routine logging or for debugging. .sp This feature is available in Postfix 2.8 and later. .IP "\fBPREPEND \fItext...\fR" Prepend one line with the specified text, and inspect the next input line. .sp Notes: .RS .IP \(bu The prepended text is output on a separate line, immediately before the input that triggered the \fBPREPEND\fR action. .IP \(bu The prepended text is not considered part of the input stream: it is not subject to header/body checks or address rewriting, and it does not affect the way that Postfix adds missing message headers. .IP \(bu When prepending text before a message header line, the prepended text must begin with a valid message header label. .IP \(bu This action cannot be used to prepend multi-line text. .RE .IP This feature is available in Postfix 2.1 and later. .sp This feature is not supported with milter_header_checks. .IP "\fBREDIRECT \fIuser@domain\fR" Write a message redirection request to the queue file, and inspect the next input line. After the message is queued, it will be sent to the specified address instead of the intended recipient(s). .sp Note: this action overrides the \fBFILTER\fR action, and affects all recipients of the message. If multiple \fBREDIRECT\fR actions fire, only the last one is executed. .sp This feature is available in Postfix 2.1 and later. .sp This feature is not supported with smtp header/body checks. .IP "\fBREPLACE \fItext...\fR" Replace the current line with the specified text, and inspect the next input line. .sp This feature is available in Postfix 2.2 and later. The description below applies to Postfix 2.2.2 and later. .sp Notes: .RS .IP \(bu When replacing a message header line, the replacement text must begin with a valid header label. .IP \(bu The replaced text remains part of the input stream. Unlike the result from the \fBPREPEND\fR action, a replaced message header may be subject to address rewriting and may affect the way that Postfix adds missing message headers. .RE .IP "\fBREJECT \fIoptional text...\fR Reject the entire message. Reply with \fIoptional text...\fR when the optional text is specified, otherwise reply with a generic error message. .sp Note: this action disables further header or body_checks inspection of the current message and affects all recipients. .sp Postfix version 2.3 and later support enhanced status codes. When no code is specified at the beginning of \fIoptional text...\fR, Postfix inserts a default enhanced status code of "5.7.1". .sp This feature is not supported with smtp header/body checks. .IP "\fBWARN \fIoptional text...\fR Log a "warning:" record with the \fIoptional text...\fR (or log a generic text), and inspect the next input line. This action is useful for debugging and for testing a pattern before applying more drastic actions. .SH BUGS .ad .fi Empty lines never match, because some map types mis-behave when given a zero-length search string. This limitation may be removed for regular expression tables in a future release. Many people overlook the main limitations of header and body_checks rules. .IP \(bu These rules operate on one logical message header or one body line at a time. A decision made for one line is not carried over to the next line. .IP \(bu If text in the message body is encoded (RFC 2045) then the rules need to be specified for the encoded form. .IP \(bu Likewise, when message headers are encoded (RFC 2047) then the rules need to be specified for the encoded form. .PP Message headers added by the \fBcleanup\fR(8) daemon itself are excluded from inspection. Examples of such message headers are \fBFrom:\fR, \fBTo:\fR, \fBMessage-ID:\fR, \fBDate:\fR. Message headers deleted by the \fBcleanup\fR(8) daemon will be examined before they are deleted. Examples are: \fBBcc:\fr, \fBContent-Length:\fR, \fBReturn-Path:\fR. .SH "CONFIGURATION PARAMETERS" .na .nf .ad .fi .IP \fBbody_checks\fR Lookup tables with content filter rules for message body lines. These filters see one physical line at a time, in chunks of at most \fB$line_length_limit\fR bytes. .IP \fBbody_checks_size_limit\fP The amount of content per message body segment (attachment) that is subjected to \fB$body_checks\fR filtering. .IP \fBheader_checks\fR .IP "\fBmime_header_checks\fR (default: \fB$header_checks\fR)" .IP "\fBnested_header_checks\fR (default: \fB$header_checks\fR)" Lookup tables with content filter rules for message header lines: respectively, these are applied to the initial message headers (not including MIME headers), to the MIME headers anywhere in the message, and to the initial headers of attached messages. .sp Note: these filters see one logical message header at a time, even when a message header spans multiple lines. Message headers that are longer than \fB$header_size_limit\fR characters are truncated. .IP \fBdisable_mime_input_processing\fR While receiving mail, give no special treatment to MIME related message headers; all text after the initial message headers is considered to be part of the message body. This means that \fBheader_checks\fR is applied to all the initial message headers, and that \fBbody_checks\fR is applied to the remainder of the message. .sp Note: when used in this manner, \fBbody_checks\fR will process a multi-line message header one line at a time. .SH "EXAMPLES" .na .nf .ad .fi Header pattern to block attachments with bad file name extensions. For convenience, the PCRE /x flag is specified, so that there is no need to collapse the pattern into a single line of text. The purpose of the [[:xdigit:]] sub-expressions is to recognize Windows CLSID strings. .na .nf /etc/postfix/main.cf: header_checks = pcre:/etc/postfix/header_checks.pcre /etc/postfix/header_checks.pcre: /^Content-(Disposition|Type).*name\es*=\es*"?(.*(\e.|=2E)( ade|adp|asp|bas|bat|chm|cmd|com|cpl|crt|dll|exe| hlp|ht[at]| inf|ins|isp|jse?|lnk|md[betw]|ms[cipt]|nws| \e{[[:xdigit:]]{8}(?:-[[:xdigit:]]{4}){3}-[[:xdigit:]]{12}\e}| ops|pcd|pif|prf|reg|sc[frt]|sh[bsm]|swf| vb[esx]?|vxd|ws[cfh]))(\e?=)?"?\es*(;|$)/x REJECT Attachment name "$2" may not end with ".$4" .ad .fi Body pattern to stop a specific HTML browser vulnerability exploit. .na .nf /etc/postfix/main.cf: body_checks = regexp:/etc/postfix/body_checks /etc/postfix/body_checks: /^