exim4 Smarthost mit Absenderüberprüfung

exim4 Smarthost mit Absenderüberprüfung

Ich versuche, exim4 als Smarthost vor dem Mailserver des ISP einzurichten. Alles funktioniert einwandfrei, bis auf einige E-Mails von ungültigen Absendern (höchstwahrscheinlich Spam). Der ISP lehnt sie mit

450 4.1.8 <[email protected]>: Sender address rejected: Domain not found

Dies führt dazu, dass der Exim-Smarthost einen erneuten Versuch startet und die Warteschlangengröße unnötig vergrößert wird.

Am nächsten kam ich dieser Konfiguration mit /etc/exim4/local_sender_callouteiner Datei. Aber dann geht der Callout an den ISP, der ihn dann ablehnt mit

554 5.7.1 <[email protected]>: Relay access denied(für jede Adresse, auch gültige). Die Einstellung /etc/exim4/passwd.clientscheint in diesem Fall nicht zu funktionieren ...

Wie kann ich mit Exim Smarthost eine Absenderverifizierung (mit oder vorzugsweise ohne Callout) einrichten?

Klarstellung: Mein Exim ist kein offenes Relay, es gibt bereits eine eingeschränkte Liste von Domänen an, für die es E-Mails akzeptiert. Diese E-Mails werden dann an den Smarthost gesendet, um sie an die tatsächlichen Postfächer zuzustellen. Ein Diagramm des Setups würde wahrscheinlich ungefähr so ​​aussehen.

Internet -> my exim(mx) -> ISP(smarthost) <- users accessing email via POP/IMAP

Die MX-Einträge meiner Domain verweisen auf meinen Exim-Server. Der ISP akzeptiert jedoch E-Mails für meine Domain und speichert sie in Postfächern.

Antwort1

Tatsächlich richten Sie ein Front-End-MX mit einem restriktiveren Filtersatz tiefer in Richtung des endgültigen Ziels ein. Dies lässt sich am besten bewältigen, indem man am Front-End mindestens genauso restriktiv ist.

Da Sie jedoch einen Smarthost haben, senden Sie E-Mails für „jede Domäne“ an den Smarthost. Dies lässt sich schlecht mit der Domänengültigkeitsprüfung kombinieren: Irgendwo in Ihrer für RCPT-Befehle definierten ACL sollte ein Befehl vorhanden sein, require verify = senderder sicherstellt, dass Exim über eine Methode zum Senden von E-Mails an die Absenderdomäne verfügt, bevor es die Nachricht akzeptiert.

Da Sie immer online sind, empfehle ich, einen zusätzlichen Router direkt vor Ihren Smarthost-Router zu setzen. Vorausgesetzt, der Smarthost hat domains = ! +local_domainsund no_more, fügen Sie no_verifydem Smarthost-Router und davor diesen Router hinzu:

remote_dns_verify:
  driver = dnslookup
  domains = ! +local_domains
  transport = remote_smtp
  # ignore_target_hosts = +some_hostlist_matching_rfc1918_and_so_on
  same_domain_copy_routing
  verify_only
  no_more

Damit ist dieÜberprüfungpath verwendet den Smarthost nicht, sodass Sie nicht mehr „eine Route für alles“ haben. Die Überprüfung kann nur Remote-Domänen weiterleiten, die über DNS verfügen, sodass Sie keine E-Mails mehr akzeptieren, die Ihr ISP ablehnt, weil sie nicht weiterleitbar sind.

Danach würde ich versuchen, einige Wiederholungsregeln festzulegen, die auf bestimmte Remote-Fehler zutreffen, um die Wiederholung von E-Mails zu verhindern, die der ISP abgelehnt hat. Siehehttp://www.exim.org/exim-html-current/doc/html/spec_html/ch-retry_configuration.htmlfür mehr.

verwandte Informationen