exim: unrouteable address

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
florian b
Posts: 27
Joined: 2003-01-29 12:15

exim: unrouteable address

Post by florian b » 2003-09-11 11:52

Hallöle,

ich habe nen exim laufen und habe ein problem mit der Routerconfig.

Angenommen ich habe ne Mail, die an ne Adresse weitergeleitet werden soll, dann läuft das ja über den ALIAS.
Wenn die jetzt auch noch LOCAL behandelt wird, ist alles okay, keine Fehlermeldung.

Wenn jetzt aber die nur weitergeleitet wird, dann kommt die Fehlermeldung und vor allem die MAIL DELIVERY mail mit "unrouteable address", klar, hat ja auch keine postbox.

Hat jemand ne idee, wie ich dem Exim klarmachen kann, daß er das in dem Fall einfach übergeht?

dodolin
RSAC
Posts: 4009
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe

Re: exim: unrouteable address

Post by dodolin » 2003-09-11 12:13

Ich checks noch nicht ganz. Es wäre vielleicht ganz hilfreich, wenn du uns mehr Infos zukommen lassen würdest:

Logfiles (mainlog, rejectlog), testen mit exim -bv, exim -bt etc. oder wie die alle heißen. Ah, und exim -bh war es, glaub ich.

florian b
Posts: 27
Joined: 2003-01-29 12:15

Re: exim: unrouteable address

Post by florian b » 2003-09-11 12:21

okay ganz einfach:

Es gibt 2 wege in der Mailbehandlung

1. mail LOCAL verteilen -> also in eine Postbox packen
2. mail über ALIAS weiterleiten -> simples forwarding

das ganze ist natürlich kombinierbar ( Bsp ):

Mail an x@y.com soll LOCAL gespeichert werden UND an z@j.com weitergeleitet werden. Dann guckt der MTA nach, ober für den LOCAL-part die Addy kennt und routed die.

Das versucht er aber auch, wenn er ne Mail bekommt, die NUR geforwarded werden soll. Natürlich kennt er die dann LOCAL nicht!
er hat ja nichts, wohin er die speichern soll.

Ich hab mir jetzt ne zwischenlösung gebastelt, in dem ich einfach nen ordner /forwardsonly eingerichtet habe und alle Forwarder per LOCAL darauf verweise. Der Ordner wird per CRON alle 15min geleert.

So umgehe ich die unrouteable nachricht. aber toll ist das nicht.

jetzt klar?

dodolin
RSAC
Posts: 4009
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe

Re: exim: unrouteable address

Post by dodolin » 2003-09-11 13:06

Nochmal: Ich glaube nicht, dass das ein generelles Problem von Exim sein soll, sondern tippe viel eher auf einen Konfigurationsfehler deinerseits. Deshalb hatte ich dich um die angegebenen Infos gebeten. Ebenso hast du noch nicht gesagt, welche Eximversion du benutzt. Weiterhin wäre es wichtig zu wissen, in welchem Router dein Aliasfile ausgewertet wird, wie diese Routersection in der exim.conf aussieht und was genau im Aliasfile steht. Weiterhin gäbe es noch die Möglichkeit mit Filtern zu arbeiten. Kurz und gut: Es fehlt so ziemlich jegliche Info, um dir helfen zu können und ich möchte eigentlich diese Infos nicht jemandem aus der Nase ziehen müssen, sondern erwarte, dass das in einer gut gestellten Frage schon alles mitgeliefert wird (siehe auch meine Signatur).

florian b
Posts: 27
Joined: 2003-01-29 12:15

Re: exim: unrouteable address

Post by florian b » 2003-09-11 23:33

exim v 4.20 unter debian mit amavisd

Aliasfile hab ich nicht, läuft alles über MySQL.
Routerconfig ist die Standardconfig von Exim bei Install ledigilich auf
MySQL-Abfrage gemünzt.

Code: Select all

dnslookup:
  driver = dnslookup
  domains = ! +local_domains
  transport = remote_smtp
  ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
  no_more

mysqluser_amavis:
 driver = manualroute
 domains = +local_domains
 condition = "${if or {{eq {$interface_port}{10025}} 
                       {eq {$received_protocol}{spam-scanned}} 
                       {eq {$sender_address}{}} 
                      }{0}{1}}"
 route_list = "* localhost byname"
 retry_use_local_part
 transport = amavis
 self = send

# This router handles aliasing using the data in a MySQL database.
# Wildcards are supported by using an asterisk (*) as the local_part.

mysql_aliases:
  driver = redirect
  file_transport = address_file
  pipe_transport = address_pipe
  data = ${lookup mysql{SELECT sendto FROM aliases WHERE (username='$local_part' AND domainname='$domain') OR (username='*' AND domainname='$domain')}}
  unseen


mysqluser:
  driver = accept
  condition = ${if eq{} {${lookup mysql{SELECT email FROM users WHERE email='$local_part@$domain' AND status='1'}}}{no}{yes}}
  transport = local_delivery

dodolin
RSAC
Posts: 4009
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe

Re: exim: unrouteable address

Post by dodolin » 2003-09-12 01:10

Aliasfile hab ich nicht, läuft alles über MySQL.
Uff... a) kenne ich mich mit MySQL in Verbindung mit Exim gar nicht aus und b) dürfte dann der Fehler wohl hier zu suchen sein. Frage: Wo hast du das Beispiel für den mysql_aliases Router her oder hast du das selbst gebaut?

Auf jedenfall muss dort das 'unseen' weg und schon sollten alle deine Probleme gelöst sein... Siehste, so einfach kann man dir helfen, wenn du uns die Infos lieferst. ;)

florian b
Posts: 27
Joined: 2003-01-29 12:15

Re: exim: unrouteable address

Post by florian b » 2003-09-12 01:15

wenn ich das unseen wegnehme, hört die mail-routine an dem punkt auf.
d.h. wenn ne mail sowohl local als auch forwarded behandelt werden soll, macht er immer nur den forwarder und stoppt dort. bringt also nichts.

dodolin
RSAC
Posts: 4009
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe

Re: exim: unrouteable address

Post by dodolin » 2003-09-12 02:43

wenn ich das unseen wegnehme, hört die mail-routine an dem punkt auf.
Jepp. Das ist ja auch der Sinn und genau SO sollte ein Aliasfile (oder halt eins per DB) behandelt werden. Alles andere verursacht Kopfschmerzen - wie du wohl inzwischen bemerkt hast.
d.h. wenn ne mail sowohl local als auch forwarded behandelt werden soll, macht er immer nur den forwarder und stoppt dort. bringt also nichts.
Für diesen Spezialfall würde ich einen Exim Filter nehmen, der dann in ~/.forward des lokalen Users liegt. Das wäre eine saubere Lösung. BTW: Darauf hatte ich oben schonmal hingewiesen:
dodolin wrote:Weiterhin gäbe es noch die Möglichkeit mit Filtern zu arbeiten.
Es gibt sicher auch andere Möglichkeiten, das zu realisieren. Ich habe dir jetzt mal aufgezeigt, wie ICH es machen würde und wie ich es für "am saubersten" halte...