[Python-de] fragen zu SMTP

Martin v. Loewis martin at v.loewis.de
Sun Jan 27 21:02:23 EST 2002


"Robert Rottermann" <robert at redcor.ch> writes:

> ich habe folgende Frage zu smtplib:
> wenn ich
> s=smtplib.SMTP('ambassador-zermatt.ch')
> bekomme ich einen "host not found" Fehler.
> 
> hingegen funktioniert 
> sendmail direktion at ambassador-zermatt.ch < message
> 
> ohne weiteres.
> 
> Woran kann das liegen??

Daran, dass ambassador-zermatt.ch kein Rechnername ist, sondern eine
Domain im Domain Name System. Um Email auszutauschen, must Du zunächst
einen Mail Exchanger (MX) für die Domain finden:


martin at mira:~> nslookup
Default Server:  www-proxy.B1.srv.t-online.de
Address:  217.5.100.1

> set q=mx
> ambassador-zermatt.ch
Server:  www-proxy.B1.srv.t-online.de
Address:  217.5.100.1

ambassador-zermatt.ch   preference = 10, mail exchanger = mail.ambassador-zermatt.ch
ambassador-zermatt.ch   nameserver = jupiter.planet.ch
ambassador-zermatt.ch   nameserver = pluton.planet.ch
mail.ambassador-zermatt.ch      internet address = 195.141.27.146
jupiter.planet.ch       internet address = 193.246.108.10
pluton.planet.ch        internet address = 193.246.108.12

Der Mail Exchanger heisst also mail.ambassador-zermatt.ch; IP-Nummer
195.141.27.146; mit diesem müsstest Du Dich in Verbindung setzen.

In der Regel ist das Verfahren noch komplizierter:
- Es könnte mehrere Mailexchanger geben
- Manche von diesen könnten nicht erreichbar sein
- eventuell muss die Auslieferung der Mail verzögert und nach einiger
  Zeit nochmal versucht werden; falls sie endgültig scheitert, muss die
  Mail an den Absender zurückgesendet werden; falls das auch scheitert,
  eventuell an irgend einen Postmaster.

Weil das Versenden von Mail so ungeheuer kompliziert ist, wird man
seine Mail (als MUA - Mail User Agent) in der Regel an einen *lokalen*
Mail Exchanger (auch bekannt als MTA - Mail Transfer Agent) übergeben;
dieser wird dann versuchen, sie an den letzendlichen Empfänger weiter
zu leiten.

Vermutlich macht Deine lokale sendmail-Installation genau das: an
einen fest konfigurierten MTA weiterleiten (was u.U. localhost ist).

Ciao,
Martin



More information about the Python-de mailing list