Filter mail based on recipient restrictions. default is to filter then reject the remaining. This is a default rule and submission requires it's own rule specified. rules and order as follows: 1. permit_mynetworks Allow local mail host to send to whomever. 2. reject_non_fqdn_recipient must use a FQDN so that the recipient can be identified. 3. reject_unknown_recipient_domain Only accept mail for the domains we host. 4. reject_unauth_destination reject mail for domains we don't host and before any policy checks are done. This prevents additional processes from spawning that would otherwise be unused. 5. check_policy_service,unix:private/policyd-spf bounce the mail that fails spf check. likely to be a non-smtp server. 6. check_policy_service unix:private/quota Check the recipients quota before delivery. if fails, bounce the mail. 7. permit_auth_destination Only accept mail for domains we host. This rule placed after the bounces, so that filtering can be done first. 8. reject Hard reject as the recipient doesn't belong to this host. MR !7
178 lines
7.8 KiB
CFEngine3
178 lines
7.8 KiB
CFEngine3
#
|
|
# Postfix master process configuration file. For details on the format
|
|
# of the file, see the master(5) manual page (command: "man 5 master" or
|
|
# on-line: http://www.postfix.org/master.5.html).
|
|
#
|
|
# Do not forget to execute "postfix reload" after editing this file.
|
|
#
|
|
# ==========================================================================
|
|
# service type private unpriv chroot wakeup maxproc command + args
|
|
# (yes) (yes) (no) (never) (100)
|
|
# ==========================================================================
|
|
#smtp inet n - y - - smtpd
|
|
smtp inet n - y - 1 postscreen
|
|
smtpd pass - - y - - smtpd
|
|
-o syslog_name=postfix/inbound
|
|
-o smtpd_tls_security_level=may
|
|
|
|
#dnsblog unix - - y - 0 dnsblog
|
|
#tlsproxy unix - - y - 0 tlsproxy
|
|
submission inet n - y - - smtpd
|
|
-o syslog_name=postfix/submission
|
|
-o smtpd_tls_security_level=encrypt
|
|
-o smtpd_sasl_auth_enable=yes
|
|
-o smtpd_tls_auth_only=yes
|
|
-o smtpd_sasl_type=dovecot
|
|
-o smtpd_sasl_path=private/dovecot/auth
|
|
-o smtpd_sasl_security_options=noanonymous
|
|
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
|
|
-o smtpd_sender_login_maps=ldap:/etc/postfix/ldap/smtpd_sender_login_maps,ldap:/etc/postfix/ldap/smtpd_sender_login_maps_groups
|
|
-o smtpd_sender_restrictions=reject_sender_login_mismatch
|
|
-o smtpd_recipient_restrictions=reject_non_fqdn_recipient,reject_unknown_recipient_domain,permit_sasl_authenticated,reject
|
|
-o cleanup_service_name=privacy
|
|
-o content_filter=amavis:[127.0.0.1]:10023
|
|
|
|
amavis unix - - n - 2 smtp
|
|
-o syslog_name=postfix/$service_name
|
|
-o smtp_data_done_timeout=1200
|
|
-o smtp_send_xforward_command=yes
|
|
-o disable_dns_lookups=yes
|
|
-o max_use=20
|
|
-o content_filter=
|
|
|
|
127.0.0.1:10025 inet n - n - - smtpd
|
|
-o syslog_name=amavis
|
|
-o content_filter=
|
|
-o local_recipient_maps=
|
|
-o relay_recipient_maps=
|
|
-o smtpd_restriction_classes=
|
|
-o smtpd_delay_reject=no
|
|
-o smtpd_client_restrictions=permit_mynetworks,reject
|
|
-o smtpd_helo_restrictions=
|
|
-o smtpd_sender_restrictions=
|
|
-o smtpd_recipient_restrictions=permit_mynetworks,reject
|
|
-o smtpd_data_restrictions=reject_unauth_pipelining
|
|
-o smtpd_end_of_data_restrictions=
|
|
-o mynetworks=127.0.0.0/8
|
|
-o smtpd_error_sleep_time=0
|
|
-o smtpd_soft_error_limit=1001
|
|
-o smtpd_hard_error_limit=1000
|
|
-o smtpd_client_connection_count_limit=0
|
|
-o smtpd_client_connection_rate_limit=0
|
|
-o receive_override_options=no_header_body_checks,no_unknown_recipient_checks
|
|
-o content_filter=
|
|
|
|
policyd-spf unix - n n - 2 spawn
|
|
user=policyd-spf argv=/usr/bin/policyd-spf
|
|
|
|
#spamassassin unix - n n - - pipe
|
|
# user=debian-spamd argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}
|
|
|
|
#smtps inet n - y - - smtpd
|
|
# -o syslog_name=postfix/smtps
|
|
# -o smtpd_tls_wrappermode=yes
|
|
# -o smtpd_sasl_auth_enable=yes
|
|
# -o smtpd_reject_unlisted_recipient=no
|
|
# -o smtpd_client_restrictions=$mua_client_restrictions
|
|
# -o smtpd_helo_restrictions=$mua_helo_restrictions
|
|
# -o smtpd_sender_restrictions=$mua_sender_restrictions
|
|
# -o smtpd_recipient_restrictions=
|
|
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
|
|
# -o milter_macro_daemon_name=ORIGINATING
|
|
|
|
|
|
|
|
#628 inet n - y - - qmqpd
|
|
pickup unix n - y 60 1 pickup
|
|
cleanup unix n - y - 0 cleanup
|
|
privacy unix n - n - 0 cleanup
|
|
-o syslog_name=postfix/$service_name
|
|
-o header_checks=regexp:/etc/postfix/header_checks_privacy
|
|
qmgr unix n - n 300 1 qmgr
|
|
#qmgr unix n - n 300 1 oqmgr
|
|
tlsmgr unix - - y 1000? 1 tlsmgr
|
|
rewrite unix - - y - - trivial-rewrite
|
|
bounce unix - - y - 0 bounce
|
|
defer unix - - y - 0 bounce
|
|
trace unix - - y - 0 bounce
|
|
verify unix - - y - 1 verify
|
|
flush unix n - y 1000? 0 flush
|
|
proxymap unix - - n - - proxymap
|
|
proxywrite unix - - n - 1 proxymap
|
|
|
|
smtp unix - - y - - smtp
|
|
-o syslog_name=postfix/$service_name
|
|
|
|
relay unix - - y - - smtp
|
|
-o syslog_name=postfix/$service_name
|
|
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
|
|
showq unix n - y - - showq
|
|
error unix - - y - - error
|
|
retry unix - - y - - error
|
|
discard unix - - y - - discard
|
|
local unix - n n - - local
|
|
virtual unix - n n - - virtual
|
|
lmtp unix - - y - - lmtp
|
|
anvil unix - - y - 1 anvil
|
|
scache unix - - y - 1 scache
|
|
postlog unix-dgram n - n - 1 postlogd
|
|
#
|
|
# ====================================================================
|
|
# Interfaces to non-Postfix software. Be sure to examine the manual
|
|
# pages of the non-Postfix software to find out what options it wants.
|
|
#
|
|
# Many of the following services use the Postfix pipe(8) delivery
|
|
# agent. See the pipe(8) man page for information about ${recipient}
|
|
# and other message envelope options.
|
|
# ====================================================================
|
|
#
|
|
# maildrop. See the Postfix MAILDROP_README file for details.
|
|
# Also specify in main.cf: maildrop_destination_recipient_limit=1
|
|
#
|
|
maildrop unix - n n - - pipe
|
|
flags=DRXhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
|
|
#
|
|
# ====================================================================
|
|
#
|
|
# Recent Cyrus versions can use the existing "lmtp" master.cf entry.
|
|
#
|
|
# Specify in cyrus.conf:
|
|
# lmtp cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4
|
|
#
|
|
# Specify in main.cf one or more of the following:
|
|
# mailbox_transport = lmtp:inet:localhost
|
|
# virtual_transport = lmtp:inet:localhost
|
|
#
|
|
# ====================================================================
|
|
#
|
|
# Cyrus 2.1.5 (Amos Gouaux)
|
|
# Also specify in main.cf: cyrus_destination_recipient_limit=1
|
|
#
|
|
#cyrus unix - n n - - pipe
|
|
# flags=DRX user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
|
|
#
|
|
# ====================================================================
|
|
# Old example of delivery via Cyrus.
|
|
#
|
|
#old-cyrus unix - n n - - pipe
|
|
# flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
|
|
#
|
|
# ====================================================================
|
|
#
|
|
# See the Postfix UUCP_README file for configuration details.
|
|
#
|
|
uucp unix - n n - - pipe
|
|
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
|
|
#
|
|
# Other external delivery methods.
|
|
#
|
|
ifmail unix - n n - - pipe
|
|
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
|
|
bsmtp unix - n n - - pipe
|
|
flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
|
|
scalemail-backend unix - n n - 2 pipe
|
|
flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
|
|
mailman unix - n n - - pipe
|
|
flags=FRX user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user}
|
|
|