Mail-Empfänger funktioniert bei einigen E-Mail-Quellen nicht

Ich habe wirklich Schwierigkeiten, den Mail-Receiver-Container zuverlässig zum Laufen zu bringen. Ich bin an dem Punkt, an dem er für Antworten, die von meinem persönlichen GMail-Konto gesendet werden, wie vorgesehen funktioniert, aber E-Mails, die von der Office 365 Web-App meines Arbeitgebers gesendet werden, abweist. Ich kann nicht sagen, ob dies ein Konfigurationsproblem meinerseits ist oder etwas Seltsames daran, wie mein Arbeitgeber E-Mails weiterleitet.

Ich bin neu in der Betrachtung der Ausgabe von ./launcher logs mail-receiver, aber ich denke, dieser Auszug zeigt die typische Abfolge von Ereignissen während einer fehlgeschlagenen Zustellung:

Jan 27 17:19:13 myvps-mail-receiver postfix/spawn[363]: warning: command /usr/bin/policyd-spf exit status 120
Jan 27 17:20:21 myvps-mail-receiver postfix/smtpd[356]: warning: problem talking to server private/policyd-spf: Connection timed out
Jan 27 17:20:21 myvps-mail-receiver postfix/smtpd[356]: NOQUEUE: reject: RCPT from mail-server.employer.tld[XX.XXX.XX.XX]: 451 4.3.5 <4eb16fb194e4f56c53b738dd8b3f3411@reply.my_domain.tld>: Recipient address rejected: Server configuration problem; from=<me@employer.tld> to=<4eb16fb194e4f56c53b738dd8b3f3411@reply.my_domain.tld> proto=ESMTP helo=<mail-server.employer.tld>
Jan 27 17:20:21 myvps-mail-receiver postfix/smtpd[356]: using backwards-compatible default setting smtpd_relay_before_recipient_restrictions=no to reject recipient "4eb16fb194e4f56c53b738dd8b3f3411@reply.my_domain.tld" from client "mail-server.employer.tld[XX.XXX.XX.XX]"
Jan 27 17:20:21 myvps-mail-receiver postfix/smtpd[356]: disconnect from mail-server.employer.tld[XX.XXX.XX.XX] ehlo=1 mail=1 rcpt=0/1 data=0/1 rset=1 quit=1 commands=4/6

<22>Jan 27 17:20:56 policyd-spf[367]: : prepend Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=XX.XXX.XX.XX; helo=mail-server.employer.tld; envelope-from=me@employer.tld; receiver=reply.my_domain.tld <22>Jan 27 17:20:56 policyd-spf[367]: Traceback (most recent call last):
Jan 27 17:20:56 myvps-mail-receiver postfix/spawn[366]: warning: command /usr/bin/policyd-spf exit status 120

Es scheint, dass der SPF-Policy-Daemon nicht funktioniert, basierend auf der ersten, zweiten und letzten Zeile. Ich kann nichts Diagnostisches finden, warum er nicht funktioniert. Ich bin mir auch nicht sicher, ob er notwendig ist. E-Mails von GMail scheinen problemlos durchzukommen.

Ich hoste selbst auf einem VPS mit Cloudflare DNS und Transaktions-E-Mail von Brevo.

1 „Gefällt mir“

Ich habe auch eine ganze Reihe unvorhersehbarer Bounces von Microsoft 365-Quellen über einen langen Zeitraum festgestellt, was sehr ärgerlich war, da so viele Unternehmen es nutzen. Ich hatte bisher kein Glück, die Ursache auf der Quellenseite zu ermitteln.

Vielleicht gibt es ein Problem mit mail-receiver, wie Sie vorschlagen; ich würde mich freuen, wenn dies untersucht würde!

1 „Gefällt mir“

Ich bin mir nicht sicher, ob meine Konfiguration, die meines Arbeitgebers oder die Mail-Empfänger-App schuld sind :person_shrugging:. Ich würde mich auf jeden Fall über Vorschläge freuen, wie ich mehr Informationen aus dem Container herausbekommen kann.

1 „Gefällt mir“

Kann mir jemand sagen, wie ich auf das rohe Systemprotokoll des Mail-Receiver-Containers zugreifen kann? Ich glaube, nach dieser Zeile sollte eine Rückverfolgung kommen:

<22>Jan 27 17:20:56 policyd-spf[367]: : prepend Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=XX.XXX.XX.XX; helo=mail-server.employer.tld; envelope-from=me@employer.tld; receiver=reply.my_domain.tld <22>Jan 27 17:20:56 policyd-spf[367]: Traceback (most recent call last):

die aber bereinigt wird? Vielleicht irre ich mich.

Das sieht relevant aus, aber ich fürchte, ich verstehe nicht, wie ich es in der Praxis anwenden kann.

Hier ist die Antwort aus dem Einfügen der gesamten Zeilen des Protokolls in ask.Discourse.com

Fehlerbehebung bei Postfix- und Policyd-SPF-Problemen KI

denvergeeks:

was dieser Fehler anzeigt:
27. Jan. 17:19:13 myvps-mail-receiver postfix/spawn[363]: Warnung: Befehl /usr/bin/policyd-spf beendet mit Status 120
27. Jan. 17:20:21 myvps-mail-receiver postfix/smtpd[356]: Warnung: Problem bei der Kommunikation mit Server private/policyd-spf: Verbindung fehlgeschlagen
27. Jan. 17:20:21 myvps-mail-receiver postfix/smtpd[356]: NOQUEUE: Ablehnung: RCPT von mail-server.employer.tld[XX.XXX.XX.XX]: 451 4.3.5 <4eb16fb194e4f56c53b738dd8b3f3411@reply.my_domain.tld>: Empfängeradresse abgelehnt: Serverkonfigurationsproblem; von=me@employer.tld an=<4eb16fb194e4f56c53b738dd8b3f3411@reply.my_domain.tld> proto=ESMTP helo=<mail-server.employer.tld>
27. Jan. 17:20:21 myvps-mail-receiver postfix/smtpd[356]: Verwendung der abwärtskompatiblen Standardeinstellung smtpd_relay_before_recipient_restrictions=no zum Ablehnen des Empfängers “4eb16fb194e4f56c53b738dd8b3f3411@reply.my_domain.tld” vom Client “mail-server.employer.tld[XX.XXX.XX.XX]”
27. Jan. 17:20:21 myvps-mail-receiver postfix/smtpd[356]: Trennung von mail-server.employer.tld[XX.XXX.XX.XX] ehlo=1 mail=1 rcpt=0/1 data=0/1 rset=1 quit=1 commands=4/6

22Jan 27 17:20:56 policyd-spf[367]: : Hinzugefügt Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=XX.XXX.XX.XX; helo=mail-server.employer.tld; envelope-from=me@employer.tld; receiver=reply.my_domain.tld
22Jan 27 17:20:56 policyd-spf[367]: Traceback (most recent call last):
27. Jan. 17:20:56 myvps-mail-receiver postfix/spawn[366]: Warnung: Befehl /usr/bin/policyd-spf beendet mit Status 120

DiscourseHelper:

Suche

Suche nach: postfix policyd-spf exit status 120 server configuration problem connection timed out reason and solution

Es scheint, dass Ihre Fehlerprotokolle Probleme mit postfix und policyd-spf anzeigen. Insbesondere:

  1. Exit-Status 120 für policyd-spf:

    • Dies deutet typischerweise auf ein Problem in der Konfiguration oder den Berechtigungen von policyd-spf hin. Policyd-SPF wird zur Validierung eingehender E-Mails basierend auf dem Sender Policy Framework (SPF) verwendet. Der Exit-Status 120 bedeutet oft einen Anwendungsfehler oder die Unfähigkeit, die SPF-Validierungsanforderungen zu verarbeiten.
  2. Verbindung zu private/policyd-spf Zeitüberschreitung:

    • Dies tritt auf, wenn postfix nicht mit dem policyd-spf-Dienst kommunizieren kann, wahrscheinlich aufgrund von:
      • Ungültigem Pfad oder Konfiguration für den Kommunikations-Socket.
      • Der spawn-Prozess für policyd-spf ist nicht korrekt eingerichtet oder schlägt beim Initialisieren fehl.
  3. RCPT-Ablehnung mit Status 451:

    • Die Empfänger-E-Mail-Adresse wird wegen eines “Serverkonfigurationsproblems” abgelehnt. Dies deutet darauf hin, dass postfix aufgrund des Fehlschlagens der SPF-Validierung den Empfänger nicht akzeptieren kann.

Schritte zur Lösung:

  1. Überprüfen Sie die policyd-spf-Konfiguration:

    • Stellen Sie sicher, dass die SPF-bezogenen Konfigurationen in /etc/postfix/main.cf (oder äquivalent) auf den richtigen Policy-Dienst verweisen:
      policy-spf unix - n n - - spawn
        user=nobody argv=/usr/bin/policyd-spf
      
    • Wenn der Pfad des argv-Befehls (/usr/bin/policyd-spf) falsch ist, passen Sie ihn an.
  2. Dienst und Protokolle:

    • Starten Sie den policyd-spf-Dienst neu:
      systemctl restart policyd-spf
      
    • Überprüfen Sie weitere Protokolle für policyd-spf, um spezifische Probleme zu identifizieren:
      journalctl -u policyd-spf
      
  3. Postfix-Konfiguration:

    • Stellen Sie sicher, dass postfix policyd-spf ordnungsgemäß verwendet. Validieren Sie in /etc/postfix/master.cf:
      smtp      inet  n       -       n       -       -       smtpd
        -o smtpd_recipient_restrictions=permit_mynetworks,reject_unauth_destination,check_policy_service=unix:private/policyd-spf
      
    • Überprüfen Sie die Dateiberechtigungen für /etc/postfix und die Socket-Pfade.
  4. SPF testen:

    • Versuchen Sie, einen SPF-Eintrag manuell mit externen Tools oder über die Befehlszeile (dig-Befehl) zu validieren:
      dig +short txt yourdomain.com
      
      • Stellen Sie sicher, dass Ihre E-Mail-SPF-Einträge korrekt sind.
  5. Socket-Kommunikation:

    • Überprüfen Sie, ob der Socket private/policyd-spf existiert und zugänglich ist:
      ls /var/spool/postfix/private/policyd-spf
      # Berechtigungen anpassen, falls die Datei existiert:
      chown postfix:postfix /var/spool/postfix/private/policyd-spf
      chmod 770 /var/spool/postfix/private/policyd-spf
      
    • Verknüpfen Sie die Unix-Socket-Datei neu oder erstellen Sie sie, falls sie fehlt.
  6. Konfigurationsfehler:

    • Überprüfen Sie die Standardparameter in /etc/policyd-spf/policyd-spf.conf und bestätigen Sie die Korrektheit für Ihren Anwendungsfall.
  7. Alle zugehörigen Dienste neu starten:

    systemctl restart postfix
    systemctl restart policyd-spf
    

Wenn Sie nach Konfigurationsänderungen weiterhin Probleme haben, wenden Sie sich an Ihren Hosting-Provider oder den Discourse-Support, um die Servergesundheit und die korrekten Konnektivitätseinstellungen sicherzustellen. Sie können auch weitere Informationen aus externer SPF-Problem-Dokumentation oder den Community-Foren von Postfix/Policyd erhalten.

Und hier ist ein Link zur Antwort von Perplexity.ai…

https://www.perplexity.ai/search/what-this-error-indicates-jan-fWurGemCTTezCPLfLNNSMg

Ich habe versucht, was ich konnte, basierend auf diesen Antworten, aber nichts scheint das Problem zu beheben. Ich denke, das Hilfreichste wäre, wenn mir jemand sagen könnte, wie ich die Inhalte der Python-Tracebacks von policyd-spf in die Protokolldateien bekomme. Irgendwelche Vorschläge? Ist das nur eine falsche Fährte?