Die Version 2.11.3 von Postfix hat in den letzten Jahren einwandfrei funktioniert. Nach dem Upgrade auf die Version 3.4.14 kann der Server keine E-Mails mehr nach außen versenden.
In der mail.err
Datei habe ich folgende Zeile gefunden:
postfix/smtpd[1043]: fatal: in parameter smtpd_relay_restrictions or smtpd_recipient_restrictions, specify at least one working instance of: reject_unauth_destination, defer_unauth_destination, reject, defer, defer_if_permit or check_relay_domains
Anschließend habe ich die beiden Parameter im master.cf
auf den
-o smtpd_recipient_restrictions=reject_unauth_destination
-o smtpd_relay_restrictions=reject_unauth_destination
In der Postfix-Version 2.11 wurden beide Parameter auskommentiert.
Nach dieser Konfiguration war die Nachricht mail.err
verschwunden, aber ich habe einen weiteren Fehler in mail.log
der Datei gefunden
Jun 3 08:01:22 smtp-out postfix/smtpd[19915]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 554 5.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<[127.0.0.1]>
Da ich verwende, sender_dependent_relayhost_maps = hash:/etc/postfix/transport_sender
was wäre die richtige Konfiguration dieser beiden Parameter (falls das das Problem ist)?
Hier ist meine main.cf
Datei:
inet_protocols = ipv4
smtpd_banner = Company ESMTP NO UCE/UBE
biff = no
append_dot_mydomain = no
myhostname = smtp-out.company.com
mydomain = company.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = smtp-out.local, localhost.dmz.local.dmz.local, localhost, $mydomain, localhost.$mydomain
relayhost = [mail.external-relayserver.com]
relay_domains =
mynetworks = 192.168.10.0/24, 192.168.15.0/24, 127.0.0.0/8, [::1]/128
header_checks = regexp:/etc/postfix/regexp/header_checks
message_size_limit = 47185920
recipient_delimiter = +
transport_maps = hash:/etc/postfix/transport
undisclosed_recipients_header=
local_recipient_maps =
smtp_tls_security_level=may
smtp_tls_loglevel=1
# relay transport
sender_dependent_relayhost_maps = hash:/etc/postfix/transport_sender
smtp_sender_dependent_authentication = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
default_destination_concurrency_limit = 2
default_destination_rate_delay = 1s
master.cf
Datei:
smtp inet n - - - - smtpd
-o smtpd_recipient_restrictions=reject_unauth_destination
-o smtpd_relay_restrictions=reject_unauth_destination
pickup unix n - - 60 1 pickup
cleanup unix n - - - 0 cleanup
qmgr unix n - n 300 1 qmgr
tlsmgr unix - - - 1000? 1 tlsmgr
rewrite unix - - - - - trivial-rewrite
bounce unix - - - - 0 bounce
defer unix - - - - 0 bounce
trace unix - - - - 0 bounce
verify unix - - - - 1 verify
flush unix n - - 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - - - - smtp
relay unix - - - - - smtp
showq unix n - - - - showq
error unix - - - - - error
retry unix - - - - - error
discard unix - - - - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - - - - lmtp
anvil unix - - - - 1 anvil
scache unix - - - - 1 scache
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
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=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
${nexthop} ${user}
Antwort1
Sie müssen angeben, wer über Ihren Postfix-Server weiterleiten darfVorDie reject_unauth_destination
.
beispielsweise um Ihren eigenen Netzwerken die Weiterleitung über Ihren Server zu ermöglichen:
smtpd_relay_restrictions = permit_mynetworks, reject_unauth_destination
oder wenn Sie sasl_authentication verwenden:
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated,
reject_unauth_destination
Denken Sie daran, dass diese Regeln in der aufgeführten Reihenfolge angegeben werden. So können Clients in Ihren Netzwerken E-Mails weiterleiten, ohne sich authentifizieren zu müssen. Clients außerhalb Ihres Netzwerks müssen sich selbst authentifizieren. Weiterleitungsversuche von allen anderen werden abgelehnt.
Übrigens ist es für eine einfache Postfix-Konfiguration wie Ihre besser, diese Optionen in die Datei einzufügen main.cf
und nicht master.cf
.