Postfix akzeptiert E-Mails auf einem bestimmten Port

Postfix akzeptiert E-Mails auf einem bestimmten Port

Einige unserer Kunden senden E-Mails über unseren Mailserver. Um die E-Mails stapelweise zu versenden, leiten wir alle E-Mails an einem bestimmten Port (in diesem Fall 1025) an ein Akzeptanzskript weiter, das die Details zur Stapelverarbeitung in MySQL speichert. Wenn ich das teste, funktioniert es einwandfrei. Wenn der Kunde es testet, funktioniert es einwandfrei. Wenn er jedoch von seinem Unica-System aus sendet, sieht es so aus, als ob die E-Mails direkt am Skript vorbei und in den Mailstream gelangen. Ist das möglich?

Hier die Zeilen aus master.cf

000.000.000.000:1025 inet n      -       -       -       0       smtpd
        -o mynetworks=hash:/etc/postfix/injector/networks
        -o content_filter=clientid:
        -o syslog_name=clientid
        -o smtpd_timeout=1800s

clientid  unix   -       n       n       -       0       pipe
        flags=q user=filter argv=/var/injector/inject.php clntid

Jede Hilfe wäre sehr willkommen!

Danke!

Antwort1

Um das Problem diagnostizieren zu können, müssen Sie zunächst mit der Erfassung weiterer Daten beginnen. Sie können die Optionen debug_peer_level und debug_peer_list in /etc/postfix/main.cf verwenden.

z.B

debug_peer_list=UNICA.SERVER.IP.ADRESSE
debug_peer_level=2

(erhöhen Sie den Debug-Level noch weiter, wenn das nicht genügend Informationen liefert)

Sobald Sie diese Daten haben, können Sie mit Sicherheit feststellen, ob die E-Mails vom Unica-System tatsächlich an Ihren benutzerdefinierten Filter gesendet werden oder nicht (und es hört sich so an, als ob dies nicht der Fall wäre).

Antwort2

SMTP läuft über Port 25 (das ist ein Standard), wenn Ihr Client also über das Unica-System sendet, sendet er an diesen Port. Auf Ihrer Seite weiß der SMTP-Prozess, der auf Port 25 lauscht, nichts über das Skript inject.php.

Ihr Client muss über ein System senden, das erkennt, dass Sie einen nicht standardmäßigen Port verwenden, sei es ein MTA (SMTP-Server) oder ein einfacher Mail-Client. Oder Sie müssen Ihr Setup neu gestalten.

Ja, Sie können die Adresse entfernen (siehe man 5 master).

Um das ein wenig zu verdeutlichen: Da wir Ihre Konfiguration nicht vollständig sehen, können Sie vielleicht bekommen, was Sie wollen (ungetestet). Wenn Ihr Client oder was auch immer nicht an Ihren Port 1025 sendet, können Sie seine E-Mails anscheinend basierend auf der Absenderadresse oder Domäne weiterleiten.

/etc/postfix/main.cf:
sender_dependent_relayhost_maps = /etc/postfix/my_special_client

/etc/postfix/my_special_client:
@example.com  127.0.0.1:1025

# postmap /etc/postfix/my_special_client
# postfix stop && postfix start

Antwort3

Für eine wirklich detaillierte Fehlerbehebung führe ich manchmal einen TCPdump aus und ziehe diesen zurück in Ethereal, um die genaue SMTP-Sitzung zu untersuchen, die stattgefunden hat.

tcpdump -i any -s 1500 -w /tmp/some-file.dump host ip.of.your.client

verwandte Informationen