[Exim] Bounces weiterleiten

10/10/2014 - 02:17 von Dirk Zobel | Report spam
Hi,

ich habe mehrere Hosts, über die ich meine Mails verschicke. Dafür hole
ich die Daten aus einer Datei mittels Abfragen wie z.B.
port = ${extract{4}{:}{${lookup{$sender_address}nwildlsearch
{/etc/exim4/passwd.client.auto}{$value}fail}}}

Soweit alles ok. Wenn aber ein Fehler passiert, z.B. zu große Mail, und
ein Bounce wie "Mail delivery failed: returning message to sender" von
Exim erzeugt wird, hàngt dieser fest. Denn bei Exim gibt es dann keine
$sender_address, obwohl im Header ein From: vorkommt.

Die Meldung dazu heisst:
2014-10-09 00:06:17 1Xb9U2-0007Ql-Kx == nlbox2@web.de R=smarthost
T=remote_smtp_smarthost defer (-1): failed to expand "${extract{4}{:}
{${lookup{$sender_address}nwildlsearch{/etc/exim4/passwd.client.auto}
{$value}fail}}}" ("port" option) for remote_smtp_smarthost transport:
"lookup" failed and "fail" requested

Versucht habe ich, einfach das fail mit einer Abfrage nach dem $host zu
ersetzen, aber dieses extract akzeptiert nur ein "fail".

Die Absenderadresse des Bounces im From wird ordentlich in eine
versendefàhige Adresse umgeschrieben, nur dann stoppt die Lieferung, weil
die Abfrage keine $sender_address hat. $host hilft mir nicht weiter, da
die Domain bei anderen zu versendenen Mails unterschiedlich zu der
Adresse sein kann, wie auch der Lokalteil der E-Mail entscheidet, welche
Passwort Kombination eingegeben werden muss.

Elegant wàre es, eine "if then" Abfrage zu basteln, bei der
$sender_address ein Wert zugewiesen wird, falls dieser leer ist,
vielleicht mit einem Test auf den Bounce-Absender. Leider haben meine
Zuweisungen bisher nichts erbracht, da Exim sagt, sender_address ist
keine Option.

Hilfe, wie kann ich mir die zwar seltenen, aber dann um so wichtigeren
Bounces zustellen lassen?

Vielen Dank,

Dirk
 

Lesen sie die antworten

#1 Frank Elsner
10/10/2014 - 13:47 | Warnen spam
On 10.10.2014 02:17, Dirk Zobel wrote:
Hi,

ich habe mehrere Hosts, über die ich meine Mails verschicke. Dafür hole
ich die Daten aus einer Datei mittels Abfragen wie z.B.
port = ${extract{4}{:}{${lookup{$sender_address}nwildlsearch
{/etc/exim4/passwd.client.auto}{$value}fail}}}

Soweit alles ok. Wenn aber ein Fehler passiert, z.B. zu große Mail, und
ein Bounce wie "Mail delivery failed: returning message to sender" von
Exim erzeugt wird, hàngt dieser fest. Denn bei Exim gibt es dann keine
$sender_address, obwohl im Header ein From: vorkommt.



Schnellschuß, musste ggf. selber ausbauen:

Router für diesen Fall basteln, z.B:

bounce_router:
no_verify
senders = : <- Leeres Envelope From !
domains = ! +local_domains
driver = dnslookup
transport = bounce_transport <- Der hauts dann raus
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8


NTH, Frank

Ähnliche fragen