You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

463 lines
17 KiB

<file name="Makefile">
##
## @l_prefix@/etc/postfix/Makefile -- maintainance procedures
##
# path configuration
PREFIX = @l_prefix@
SBINDIR = $(PREFIX)/sbin
ETCDIR = $(PREFIX)/etc
# program configuration
RC = $(ETCDIR)/rc
POSTALIAS = $(SBINDIR)/postalias
POSTMAP = $(SBINDIR)/postmap
POSTFIX = $(SBINDIR)/postfix
# table filename configuration
T_ACCESS = access
T_CANONICAL = canonical
T_GENERIC = generic
T_VIRTUAL = virtual
T_RELOCATED = relocated
T_TRANSPORT = transport
T_ALIASES = aliases
T_RECIPIENT = recipient
T_RELAY = relay
# dependency tracking
TIMESTAMP = .up-to-date
DEPENDENCIES = Makefile master.cf main.cf $(TABLES)
# managed tables:
# - use extension ".db" for hash tables ("hash")
# - use no extension for regex tables ("pcre")
TABLES = \
$(T_ACCESS).db \
$(T_CANONICAL).db \
$(T_GENERIC).db \
$(T_VIRTUAL).db \
$(T_RELOCATED).db \
$(T_TRANSPORT).db \
$(T_ALIASES).db \
$(T_RECIPIENT).db \
$(T_RELAY).db
# default target
all: $(TABLES) $(TIMESTAMP)
# implicit checking and reloading
$(TIMESTAMP): $(DEPENDENCIES)
$(POSTFIX) check
$(POSTFIX) reload >/dev/null 2>&1 || true
touch $(TIMESTAMP) && chmod 600 $(TIMESTAMP)
# explicit checking
check:
$(POSTFIX) check
# hash table update targets
$(T_ACCESS).db: $(T_ACCESS) $(MAKEFILE)
$(POSTMAP) hash:$(T_ACCESS)
$(T_CANONICAL).db: $(T_CANONICAL) $(MAKEFILE)
$(POSTMAP) hash:$(T_CANONICAL)
$(T_GENERIC).db: $(T_GENERIC) $(MAKEFILE)
$(POSTMAP) hash:$(T_GENERIC)
$(T_VIRTUAL).db: $(T_VIRTUAL) $(MAKEFILE)
$(POSTMAP) hash:$(T_VIRTUAL)
$(T_RELOCATED).db: $(T_RELOCATED) $(MAKEFILE)
$(POSTMAP) hash:$(T_RELOCATED)
$(T_TRANSPORT).db: $(T_TRANSPORT) $(MAKEFILE)
$(POSTMAP) hash:$(T_TRANSPORT)
$(T_ALIASES).db: $(T_ALIASES) $(MAKEFILE)
$(POSTALIAS) hash:$(T_ALIASES)
$(T_RECIPIENT).db: $(T_RECIPIENT) $(MAKEFILE)
$(POSTMAP) hash:$(T_RECIPIENT)
$(T_RELAY).db: $(T_RELAY) $(MAKEFILE)
$(POSTMAP) hash:$(T_RELAY)
# cleanup target
clean:
-rm -f $(TABLES)
-rm -f $(TIMESTAMP)
# process management
start:
$(RC) postfix start
reload:
$(RC) postfix reload
stop:
$(RC) postfix stop
</file>
<file name="master.cf">
##
## @l_prefix@/etc/postfix/master.cf -- Postfix master process table
##
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - n - - smtpd
#smtp inet n - n - 1 postscreen
#smtpd pass - - n - - smtpd
#dnsblog unix - - n - 0 dnsblog
#tlsproxy unix - - n - 0 tlsproxy
#628 inet n - n - - qmqpd
pickup unix n - n 60 1 pickup
cleanup unix n - n - 0 cleanup
qmgr unix n - n 300 1 qmgr
tlsmgr unix - - n 1000? 1 tlsmgr
rewrite unix - - n - - trivial-rewrite
bounce unix - - n - 0 bounce
defer unix - - n - 0 bounce
trace unix - - n - 0 bounce
verify unix - - n - 1 verify
flush unix n - n 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - - proxymap
smtp unix - - n - - smtp
relay unix - - n - - smtp -o fallback_relay=
showq unix n - n - - showq
error unix - - n - - error
retry unix - - n - - error
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - n - - lmtp
anvil unix - - n - 1 anvil
scache unix - - n - 1 scache
#maildrop unix - n n - - pipe flags=DRhu user=@l_nusr@ argv=@l_prefix@/bin/maildrop -d ${recipient}
#cyrus unix - n n - - pipe user=@l_nusr@ argv=@l_prefix@/bin/cyrdeliver -e -r ${sender} -m ${extension} ${user}
#uucp unix - n n - - pipe flags=Fqhu user=@l_nusr@ argv=@l_prefix@/bin/uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#ifmail unix - n n - - pipe flags=F user=@l_nusr@ argv=@l_prefix@/bin/ifmail -r $nexthop ($recipient)
#bsmtp unix - n n - - pipe flags=Fq. user=@l_nusr@ argv=@l_prefix@/bin/bsmtp -f $sender $nexthop $recipient
</file>
<file name="main.cf">
##
## @l_prefix@/etc/postfix/main.cf -- Postfix main configuration
##
## Run "@l_prefix@/sbin/postconf -n" to see all parameters overriding
## defaults, run "@l_prefix@/sbin/postconf -d" to see all possible
## parameters and their defaults and read the following manual
## pages for description of each parameter: bounce(8), cleanup(8),
## defer(8), error(8), flush(8), lmtp(8), local(8), master(8),
## pickup(8), pipe(8), qmgr(8), showq(8), smtp(8), smtpd(8), spawn(8),
## trivial-rewrite(8).
##
# users
mail_owner = @l_musr@
setgid_group = @l_rgrp@
default_privs = @l_nusr@
# local host
myhostname = mail.example.com
mydomain = example.com
myorigin = $myhostname
# smtp daemon
smtpd_banner = $myhostname ESMTP $mail_name
inet_interfaces = 127.0.0.1
inet_protocols = ipv4
# smtp client
smtp_bind_address = 127.0.0.1
smtputf8_enable = no
SSL:# SSL/TLS support
SSL:smtpd_tls_CAfile = @l_prefix@/etc/x509/example-ca.crt.pem
SSL:smtpd_tls_cert_file = @l_prefix@/etc/x509/example-server.crt.pem
SSL:smtpd_tls_key_file = @l_prefix@/etc/x509/example-server.key.pem
SSL:smtpd_tls_fingerprint_digest = sha1
SSL:smtpd_tls_security_level = may
SSL:smtpd_tls_ask_ccert = no
SSL:smtpd_tls_auth_only = yes
SSL:
SASL:# SASL AUTH support
SASL:smtpd_sasl_auth_enable = yes
SASL:smtpd_sasl_type = dovecot
SASL:smtpd_sasl_path = @l_prefix@/var/dovecot/run/auth-client
SASL:smtpd_sasl_local_domain = $myhostname
SASL:smtpd_sasl_security_options = noanonymous
SASL:
# smtp standard restrictions
strict_rfc821_envelopes = yes
disable_vrfy_command = yes
smtpd_client_restrictions = permit_mynetworks,
SSL: permit_tls_clientcerts,
SASL: permit_sasl_authenticated,
check_client_access hash:@l_prefix@/etc/postfix/access,
reject_unknown_reverse_client_hostname,
sleep 1, reject_unauth_pipelining,
permit
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks,
SSL: permit_tls_clientcerts,
SASL: permit_sasl_authenticated,
check_client_access hash:@l_prefix@/etc/postfix/access,
reject_invalid_helo_hostname,
reject_non_fqdn_helo_hostname,
reject_unknown_helo_hostname,
permit
smtpd_sender_restrictions = permit_mynetworks,
SSL: permit_tls_clientcerts,
SASL: permit_sasl_authenticated,
check_client_access hash:@l_prefix@/etc/postfix/access,
check_sender_access hash:@l_prefix@/etc/postfix/access,
reject_unknown_sender_domain,
permit
smtpd_relay_restrictions = permit_mynetworks,
SSL: permit_tls_clientcerts,
SASL: permit_sasl_authenticated,
check_client_access hash:@l_prefix@/etc/postfix/access,
reject_unauth_destination,
permit
smtpd_recipient_restrictions = permit_mynetworks,
SSL: permit_tls_clientcerts,
SASL: permit_sasl_authenticated,
check_client_access hash:@l_prefix@/etc/postfix/access,
check_recipient_access hash:@l_prefix@/etc/postfix/recipient,
reject_unauth_destination,
permit
smtpd_data_restrictions = permit_mynetworks,
SSL: permit_tls_clientcerts,
SASL: permit_sasl_authenticated,
check_client_access hash:@l_prefix@/etc/postfix/access,
permit
# smtp custom restrictions
# (optionally used from within "recipient" map)
#smtpd_restriction_classes = RESTRICT_GREY RESTRICT_RBL
#RESTRICT_GREY = check_policy_service unix:@l_prefix@/var/postgrey/postgrey.socket
#RESTRICT_RBL = reject_rbl_client dul.dnsbl.sorbs.net,
# reject_rbl_client smtp.dnsbl.sorbs.net,
# reject_rbl_client spam.dnsbl.sorbs.net,
# reject_rbl_client noserver.dnsbl.sorbs.net,
# reject_rbl_client nomail.rhsbl.sorbs.net,
# reject_rbl_client dialups.mail-abuse.org,
# reject_rbl_client relays.mail-abuse.org,
# reject_rbl_client sbl.spamhaus.org,
# reject_rbl_client pbl.spamhaus.org,
# reject_rbl_client xbl.spamhaus.org,
# reject_rbl_client bl.spamcop.net
# receiving and relaying
mynetworks = 127.0.0.0/8
mydestination = $myhostname, localhost.$mydomain
relay_domains = $mydestination,
hash:@l_prefix@/etc/postfix/relay
# mapping
canonical_maps = hash:@l_prefix@/etc/postfix/canonical
smtp_generic_maps = hash:@l_prefix@/etc/postfix/generic
virtual_alias_maps = hash:@l_prefix@/etc/postfix/virtual
relocated_maps = hash:@l_prefix@/etc/postfix/relocated
transport_maps = hash:@l_prefix@/etc/postfix/transport
alias_maps = hash:@l_prefix@/etc/postfix/aliases
alias_database = hash:@l_prefix@/etc/postfix/aliases
# local delivery
local_recipient_maps = proxy:unix:passwd.byname $alias_maps
recipient_delimiter = +
mailbox_command = @l_prefix@/bin/procmail -a "$EXTENSION"
message_size_limit = 32000000
</file>
<file name="access">
##
## @l_prefix@/etc/postfix/access -- client list to short-circuit access restrictions
##
## Searched for the client (hostname, parent domains, IP address,
## networks obtained by stripping least significant octets from IP
## address) in order to short-circuit various restriction. Rejects
## the request if the result is REJECT or "[45]XX text". Permits the
## request if the result is OK or RELAY or all-numerical.
##
# Syntax (see access(5)):
# | user@domain action
# | domain action
# | user@ action
# | net.work.addr.ess action
# | net.work.addr action
# | net.work action
# | net action
# where "action" is one of:
# "[45]NN text", "REJECT", "OK", "restriction..."
#
# Examples:
# | mail.example.com OK
# | example.com REJECT
# | 192.168.0.1 OK
# | 192.168 REJECT
# | postmaster@ OK
</file>
<file name="recipient">
##
## @l_prefix@/etc/postfix/recipient -- recipient list to apply custom restrictions
##
## Searched for the recipient (SMTP "RCPT TO") (address, domain, parent
## domains, or user) in order to apply additional recipient-specific
## custom SMTP restrictions like RESTRICT_RBL or RESTRICT_GREY.
##
# Syntax (see access(5)):
# | user@domain action
# | domain action
# | user@ action
# where "action" is one of:
# "[45]NN text", "REJECT", "OK", "RESTRICT_XXX"
#
# Examples:
# | postmaster@example.com OK
# | example.com RESTRICT_RBL RESTRICT_GREY
</file>
<file name="relay">
##
## @l_prefix@/etc/postfix/relay -- recipient domain list to allow relaying
##
## Searched for recipient domains which are allowed to be relayed.
##
# Syntax (see postconf(5) "relay_domains"):
# | domain OK
#
# Examples:
# | example.com OK
</file>
<file name="virtual">
##
## @l_prefix@/etc/postfix/virtual -- virtual address translation
##
## Searched for virtual addresses user@domain, user and @domain
## (in this order). It redirect mail for all recipients, local or
## remote. The mapping affects only envelope recipients.
##
# Syntax (see virtual(5)):
# | user@domain address, address, ...
# | user address, address, ...
# | @domain address, address, ...
#
# Examples:
# | @example.com john@example.com
# | postmaster@example.com postmaster
# | john@example1.com john1
# | john@example2.com john2
</file>
<file name="aliases">
##
## @l_prefix@/etc/postfix/aliases -- local mailbox aliases
##
## Searched for virtual addresses user@domain, user and @domain
## (in this order). It redirect mail for all recipients, local or
## remote. The mapping affects only envelope recipients.
##
# Syntax (see aliases(5)):
# | name: value, value, ...
# where value is one of:
# "address", "/file/name", "|command", ":include:/file/name"
#
# Examples:
# | john.doe: john, doe
# | robot: |/path/to/robot
# | archive: /path/to/archive
# | users: :include:/path/to/users.list
# | owner-users: john.doe
# standard mail targets
nobody: /dev/null
MAILER-DAEMON: postmaster
# mailbox names for common services, roles and functions
# (see RFC2142 for more details and expanded list of names)
postmaster: root
hostmaster: root
security: root
abuse: root
# save unprivileged user storage of careless admins
root: /dev/null
</file>
<file name="canonical">
##
## @l_prefix@/etc/postfix/canonical -- address canonification on mail receiving
##
## Searched for canonical addresses for user@domain, user and @domain
## (in this order).
##
# Syntax (see canonical(5)):
# | user@domain address
# | user address
# | @domain address
#
# Examples:
# | postmaster@mail.example.com postmaster@example.com
# | john John.Doe
# | @example.com @example.com
</file>
<file name="relocated">
##
## @l_prefix@/etc/postfix/relocated -- relocate obsolete addresses
##
## Searched for relocated addresses user@domain, user and @domain
## (in this order). It bounces mail for all recipients.
##
# Syntax (see relocated(5)):
# | user@domain address
# | user address
# | @domain address
#
# Examples:
# | john@invalid john@example.com
# | john john@example.com
# | @invalid john@example.com
</file>
<file name="generic">
##
## @l_prefix@/etc/postfix/generic -- address canonification on mail sending
##
## Searched for canonical addresses for user@domain, user and @domain
## (in this order).
##
# Syntax (see generic(5)):
# | user@domain address
# | user address
# | @domain address
#
# Examples:
# | postmaster@mail.example.com postmaster@example.com
# | john John.Doe
# | @example.com @example.com
</file>
<file name="transport">
##
## @l_prefix@/etc/postfix/transport -- transport selection
##
## Searched for domain and .domain (in this order). It selects the
## specified transport facility for delivery.
##
# Syntax (see transport(5)):
# | domain transport:nexthop
# | .domain transport:nexthop
#
# Examples:
# | me.example.com local:
# | you.example.com smtp:mail.example.com:2525
# | example.com smtp:mail.example.com
# | .example.com smtp:mail.example.com
</file>