Mailserver für eingehende E-Mails auf einer Subdomain eingerichtet, um PHP-Skript auszulösen

Mailserver für eingehende E-Mails auf einer Subdomain eingerichtet, um PHP-Skript auszulösen

Ich versuche, meinen Firmenserver so einzurichten, dass er E-Mails an ein bestimmtes Konto auf einer Subdomäne unserer Hauptdomäne empfangen kann, z. B.:[email geschützt]

Diese eingehenden E-Mails sollten ein PHP-Skript auslösen, das einige Inhaltsverarbeitungsvorgänge übernimmt.

Ich verwende Ubuntu Server 20.0.4, Postfix ist installiert, Dovecot ist installiert, ich habe auch versucht, Courier zu verwenden, also ist das auch da, aber ich konnte das nicht zum Laufen bringen

Ich bin so weit gekommen:

  • Ich habe einen Linux-Benutzer erstellt und Postfix so konfiguriert, dass lokale Konten als gültige Postfächer verwendet werden
  • Ich habe Postfix so konfiguriert, dass eingehende E-Mails unter subdomain.domain.com akzeptiert werden
  • Ich habe die A- und MX-Einträge für die Subdomain hinzugefügt, um eine korrekte Weiterleitung in Google Domains zu gewährleisten
  • Ich habe SSL auf der Subdomäne konfiguriert (die ordnungsgemäße Funktion wurde in SSLLabs und über Apache beim Navigieren zu dieser Subdomäne bestätigt)
  • Ich habe /etc/postfix/master.cf einige zusätzliche Konfigurationen zum Auslösen des PHP-Skripts hinzugefügt (im Moment nur ein Testskript/Platzhalter):
    smtp      inet  n       -       -       -       -       smtpd
        -o content_filter=myhook:dummy
    ...
    # PHP SCRIPT HOOK
        myhook unix - n n - - pipe
          flags=F user=www-data argv=/path/to/script/MailParser.php ${sender} ${size} ${recipient}   

Das Skript MailParser.php löst lediglich das Schreiben in eine Protokolldatei aus, in der steht: „Die eingehende E-Mail wurde erfolgreich empfangen um timestamp

Wenn ich eine Mail über smtper.net mit diesen Einstellungen versende

Es löst erfolgreich das Skript zum Schreiben in das Protokoll aus und ich kann die „Test“-Nachricht von smtper.net in der System-E-Mail des Benutzers sehen, also scheint dort alles in Ordnung zu sein.

Wenn ich jedoch versuche, die E-Mail über einen normalen E-Mail-Client wie mein Gmail-Konto zu senden, erhalte ich die Fehlermeldung „Unzustellbar“.

550 5.1.1 Das E-Mail-Konto, das Sie erreichen wollten, existiert nicht. Bitte überprüfen Sie die E-Mail-Adresse des Empfängers noch einmal auf Tippfehler oder unnötige Leerzeichen. Weitere Informationen finden Sie unterhttps://support.google.com/mail/?p=NoSuchUserf16si1842833plj.1 - GSM

Ich stecke an diesem Punkt fest.

Antwort1

Das Problem lag, wie @anx anmerkte, bei den MX-Einträgen. Außerdem war das SSL-Zertifikat der Domäne nicht vollständig konfiguriert, was ebenfalls Probleme verursachte. Ansonsten waren meine lokalen Serverkonfigurationen korrekt eingerichtet.

verwandte Informationen