Um ein Problem mit einer Namensinkongruenz im Sicherheitszertifikat zu beheben , habe ich heute Morgen die empfohlenen Schritte unter So beheben Sie SSL des Mailservers? Befolgt. Beim Versuch, eine E-Mail von einem Client aus zu senden (in diesem Fall Windows Mail), wird die folgende Fehlermeldung angezeigt.
Die abgelehnte E-Mail-Adresse war "[email protected]". Betreff 'Dies ist ein Test. ', Konto:' mail.domain.com ', Server:' mail.domain.com ', Protokoll: SMTP, Serverantwort:' 554 5.7.1: Relay-Zugriff verweigert ', Port: 25, Sicher (SSL): Nein , Serverfehler: 554, Fehlernummer: 0x800CCC79
Bearbeiten : Ich kann weiterhin E-Mails von diesem Konto abrufen und E-Mails an andere Konten in derselben Domäne senden. Ich kann nur keine E-Mails an Empfänger außerhalb unserer Domain senden.
Ich habe versucht, TLS zu deaktivieren, aber keine Würfel, ich erhalte immer noch den gleichen Fehler.
Wenn ich die Datei überprüfe mail.log
, sehe ich Folgendes.
Jul 18 08:24:41 company imapd: LOGIN, [email protected], ip=[::ffff:111.111.11.11], protocol=IMAP
Jul 18 08:24:42 company imapd: DISCONNECTED, [email protected], ip=[::ffff:111.111.11.11], headers=0, body=0, rcvd=83, sent=409, time=1
Jul 18 08:25:19 company postfix/smtpd[29282]: connect from company.university.edu[111.111.11.11]
Jul 18 08:25:19 company postfix/smtpd[29282]: NOQUEUE: reject: RCPT from company.university.edu[111.111.11.11]: 554 5.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<UserPC>
Jul 18 08:25:19 company postfix/smtpd[29282]: disconnect from company.university.edu[111.111.11.11]
Jul 18 08:25:22 company imapd: DISCONNECTED, [email protected], ip=[::ffff:111.111.11.11], headers=13, body=142579, rcvd=3289, sent=215892, time=79
Die Datei main.cf
sieht so aus:
#
# Postfix MTA Manager Main Configuration File;
#
# Please do NOT edit this file manually;
#
#
# Postfix directory settings; These are critical for normal Postfix MTA functionallity;
#
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
program_directory = /usr/lib/postfix
#
# Some common configuration parameters;
#
inet_interfaces = all
mynetworks = 127.0.0.0/8
mynetworks_style = host
myhostname = mail.domain.com
mydomain = domain.com
myorigin = $mydomain
smtpd_banner = $myhostname ESMTP 2.4.7.1 (Debian/GNU)
setgid_group = postdrop
#
# Receiving messages parameters;
#
mydestination = localhost, company
append_dot_mydomain = no
append_at_myorigin = yes
transport_maps = mysql:/etc/postfix/transport.cf
#
# Delivering local messages parameters;
#
mail_spool_directory = /var/spool/mail
mailbox_size_limit = 0
mailbox_command = procmail -a "$EXTENSION"
biff = no
alias_database = hash:/etc/aliases
local_recipient_maps =
#
# Delivering virtual messages parameters;
#
virtual_mailbox_maps=mysql:/etc/postfix/mysql_virt.cf
virtual_uid_maps=mysql:/etc/postfix/uids.cf
virtual_gid_maps=mysql:/etc/postfix/gids.cf
virtual_mailbox_base=/usr/local/virtual
virtual_maps=mysql:/etc/postfix/virtual.cf
virtual_mailbox_domains=mysql:/etc/postfix/virtual_domains.cf
#
# SASL paramters;
#
smtp_use_tls = yes
smtpd_use_tls = yes
smtpd_tls_auth_only = yes
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
smtp_tls_CAfile = /etc/postfix/ssl/smptd.pem
smtp_tls_cert_file = /etc/postfix/ssl/smptd.crt
smtp_tls_key_file = /etc/postfix/ssl/smptd.key
smtpd_tls_CAfile = /etc/postfix/ssl/smptd.pem
smtpd_tls_cert_file = /etc/postfix/ssl/smptd.crt
smtpd_tls_key_file = /etc/postfix/ssl/smptd.key
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain =
broken_sasl_auth_clients = yes
smtpd_sender_restrictions =
permit_sasl_authenticated
permit_mynetworks
smtpd_recipient_restrictions =
permit_sasl_authenticated
check_recipient_access hash:/etc/postfix/filtered_domains
permit_mynetworks
reject_unauth_destination
Als Randnotiz möchte mein Arbeitgeber in der Lage sein, E-Mails von Kunden (Thunderbird und Outlook) sowohl innerhalb als auch außerhalb unseres lokalen Netzwerks zu senden.
Antworten:
TLS aktiviert nur die Verschlüsselung in der SMTP-Sitzung und hat keinen direkten Einfluss darauf, ob Postfix eine Nachricht weiterleiten darf oder nicht.
Die Meldung "Weiterleitung verweigert" wird angezeigt, weil die Regeln für "smtpd_recipient_restrictions" nicht übereinstimmen. Eine dieser Bedingungen muss erfüllt sein, damit die Nachricht gesendet werden kann:
Um diese Regeln zu erklären:
Ermöglicht authentifizierte Absender über SASL. Dies ist erforderlich, um Benutzer außerhalb Ihres Netzwerks zu authentifizieren, die normalerweise gesperrt sind.
Dadurch sucht postfix in / etc / postfix / filters_domains nach Regeln, die auf der Empfängeradresse basieren. (Nach dem Dateinamen zu urteilen, blockiert es wahrscheinlich nur bestimmte Domains ... Überprüfen Sie, ob gmail.com dort aufgeführt ist?)
Dies ermöglicht Hosts nach IP-Adresse, die mit den in $ mynetworks angegebenen IP-Bereichen übereinstimmen. In der von Ihnen geposteten main.cf wurde $ mynetworks auf 127.0.0.1 gesetzt, sodass nur vom Server selbst generierte E-Mails weitergeleitet werden.
Basierend auf dieser Konfiguration muss Ihr E-Mail-Client die SMTP-Authentifizierung verwenden, bevor er Nachrichten weiterleiten kann. Ich bin nicht sicher, welche Datenbank SASL verwendet. Dies ist in /usr/lib/sasl2/smtpd.conf angegeben. Vermutlich wird auch dieselbe Datenbank wie für Ihre virtuellen Postfächer verwendet, sodass Sie die SMTP-Authentifizierung in Ihrem E-Mail-Client aktivieren und alle Einstellungen vornehmen sollten.
quelle
Sie haben TLS deaktiviert, daher müssen Sie Ihr lokales Netzwerk jetzt autorisieren, indem Sie es hinzufügen
mynetworks
. Zum Beispiel,Dadurch wird das Senden nur von Ihrem lokalen Netzwerk aus behoben. Zum Senden von E-Mails von außerhalb Ihres lokalen Netzwerks benötigen Sie eine funktionierende TLS-Authentifizierung.
quelle
Ich denke, Sie vermissen Sie domain.com in mydestination, weil die Standardeinstellung
relay_domains=$mydestination
, so dass Sie Sie die Konfiguration der Zeile anhängen können:oder:
Vergessen Sie nicht, den Postfix-Server (
service postfix restart
) jedes Mal neu zu starten, wenn Sie die Postfix-Konfigurationsdatei bearbeiten.quelle
Ich hatte das gleiche Problem in Outlook (mit Taubenschlag und Postfix-Backend) und verbrachte zwei Tage damit, nach einer Lösung zu suchen und meine Konfigurationsdateien zu optimieren. Alles, was ich tun musste, war die Option "Server erfordert Authentifizierung" auf der Registerkarte "Ausgehend" in den E-Mail-Einstellungen in Outlook zu aktivieren. Meine Nachrichten werden jetzt an Google Mail gesendet. Eine ausführliche Anleitung zum Auffinden der Einstellung finden Sie hier http://support.bluetie.com/node/440 .
quelle
Dieses Problem nervte mich eine Weile. Ich habe versucht, eine Verbindung von server1.domain.com zu server2.domain.com herzustellen.
So habe ich das behoben -
Sie müssen auch sicherstellen, dass Sie / etc / hosts und / etc / hostname richtig eingestellt haben, und dass Sie nach Netzwerkänderungen Folgendes ausführen:
und die folgenden nach postfix Konfigurationsänderungen
quelle
Für mich: Ich musste ergänzen
localhost
,mynetworks
egal ob127.0.0.0/8
schon da war. So, jetzt sieht es aus:mynetworks = 1.1.1.1/32, 127.0.0.0/8, localhost
quelle