PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : exim Problem mit Namensauflösung(?)



zielscheibe
09.01.10, 14:25
Hallo NG,

ich bekomme von exim immer wieder folgende Meldung, die ich nicht ganz
verstehen kann:

LOG: MAIN
== xxx@localhost R=local_user T=cyrus_delivery defer (-32): failed to lookup IP address for localhost

In der /etc/hosts ist localhost mit 127.0.0.1 eingetragen,
wieso kann er das nicht auflösen :confused:

HBtux
09.01.10, 16:29
Ein Mail-Server löst die IP-Adressen nicht über die /etc/hosts auf, sondern über einen DNS-Server.

Poste mal die Ausgabe des folgenden Befehls.


nslookup localhost


Die zweite Frage.
Schickst Du E-Mails an xxx@localhost?
Vielleicht solltest Du mit gültigen E-Mail-Adressen arbeiten.

Roger Wilco
09.01.10, 16:35
Ein Mail-Server löst die IP-Adressen nicht über die /etc/hosts auf, sondern über einen DNS-Server.
Das stimmt pauschal nicht und ist vom Inhalt der /etc/host.conf bzw. allgemein der Konfiguration des Resolvers abhängig.

zielscheibe
11.01.10, 18:03
Ich bekomme folgendes:



root@rechner:~# nslookup localhost

Server: 192.168.1.1
Address: 192.168.1.1#53

Name: localhost
Address: 127.0.0.1


Ich hab die Mail an einen lokalen existierenden Benutzer, nicht an xxx@
geschickt.

HBtux
11.01.10, 20:08
Ich kenne exim selber nicht.
Aber kann es sein, dass man localhost noch freigeben muss.....?

http://www.mail-archive.com/exim-users@exim.org/msg04064.html
http://www.google.de/#hl=de&source=hp&q=exim+localhost&btnG=Google-Suche&meta=&aq=f&oq=exim+localhost&fp=58f63fc8fdffec64

Roger Wilco
11.01.10, 20:16
Die Option gethostbyname (http://exim.org/exim-html-current/doc/html/spec_html/ch30.html#id622516) für den smtp Transport klingt richtig. Alternativ kannst du auch statt localhost das IP-literal 127.0.0.1 oder im Falle von Cyrus LMTP/cyrdeliver auch einen UNIX-Socket benutzen.

zielscheibe
12.01.10, 20:29
Die Option gethostbyname (http://exim.org/exim-html-current/doc/html/spec_html/ch30.html#id622516) für den smtp Transport klingt richtig.

Ich versteh nicht ganz wo ich das einfügen soll/muss?
Wo soll der Parameter rein, in welche Konfigurationsdatei?

Der (vermuteter) Transporter


/etc/exim4/conf.d/transport/25_exim4-config_cyrus_local
cyrus_delivery:
driver = smtp
protocol = lmtp
hosts = localhost
allow_localhost
port = 2003


Der (vermuteter) Router:


### router/900_exim4-config_local_user
#################################
# This router matches local user mailboxes. If the router fails, the error
# message is "Unknown user".

local_user:
debug_print = "R: local_user for $local_part@$domain"
driver = accept
domains = +local_domains
check_local_user
local_parts = ! root
transport = LOCAL_DELIVERY
cannot_route_message = Unknown user





Alternativ kannst du auch statt localhost das IP-literal 127.0.0.1 oder im Falle von Cyrus LMTP/cyrdeliver auch einen UNIX-Socket benutzen.


In der cyrus.conf hab ich eh schon das Socket drin


lmtp cmd="lmtpd -a" listen="localhost:2003" prefork=0 maxchild=20

Hier kann ich statt localhost 127.0.0.1 eintragen, das ändert aber gar nichts.

Roger Wilco
12.01.10, 20:57
Ich versteh nicht ganz wo ich das einfügen soll/muss?
In deine /etc/exim4/conf.d/transport/25_exim4-config_cyrus_local oder eben wie schon gesagt die IP-Adresse statt des Hostnamens.

zielscheibe
12.01.10, 21:34
gethostbyname war die Lösung. DANKE :D

HBtux
12.01.10, 23:07
Poste doch mal Deine Änderung (Ausschnitt aus der Config), damit man das auch später noch ohne großes Kopfzerbrechen nachvollziehen kann.