orm@doc-tcpip.org | Erstellt: Januar 1998 - Letzte Modifikation: August 2001 |
Man kann die Aufgabe von Sendmail auch selbst übernehmen. Das ist einmal interessant und dient andererseits auch zum Troubleshooten. Man öffnet eine normale Telnet-Verbindung auf eine Maschine, wo der Sendmail läuft und gibt dann die nötigen Befehle und Sequenzen von Hand ein. Der remote Server antwortet dann mit den mit Nummern getaggten Standard-Sequenzen. Hier ein Beispiel mit den beiden Maschinen elpequeno und linux5, wobei auf linux5 der Server läuft.
Zuerst versuche ich, mich als nicht existenter User auf einer nicht existenten Domain einzuschleichen. Der Server versucht, das per DNS aufzulösen, findet den Host nicht und bricht daher das Ganze ab.
~ $ telnet linux5 25 Trying 192.168.1.5... Connected to linux5.meta.de. Escape character is '^]'. Der Aufbau der TCP-Verbindung 220 linux5.meta.de ESMTP Sendmail 8.11.2/8.11.2/SuSE Linux 8.11.1-0.5; Thu, 5 Apr 2001 12:31:26 +0200 Der remote Server teilt uns mit, das es ihn gibt und welches Protokoll er fährt (Extended SMTP), das er Sendmail der Version 8.11.2 auf SuSE Linux fährt und welche Zeit er hat. helo 192.168.1.7 Wir schmeicheln uns bei ihm ein, indem wir mit dem "helo" Kommando unsere IP übermitteln 250 linux5.meta.de Hello elpequeno.meta.de [192.168.1.7], pleased to meet you Der remote Server freut sich, uns kennenzulernen - er hat uns eben schnell aufgelöst mail from:ein.trottel@im.weltall.de Wir wollen eine Mail schicken. Dazu muß man zuerst den Absender angeben. Das geht mit "mail from:". Dummerweise gibt es den nicht..) 451 4.1.8 ein.trottel@im.weltall.de... Domain of sender address ein.trottel@im.weltall.de does not resolve Unser Gegenüber versucht, die von uns vorgegebne Domäne aufzulösen - das geht nicht, und er weigert sich, mehr zu tun. Sonst könnte ja jeder Bösewicht diesen Server als Relayhost nutzen. mail from:orm@elpequeno.meta.de Ein neuer Versuch mit einem realen User. 250 2.1.0 orm@elpequeno.meta.de... Sender ok Die Sender-Domäne existiert, es wird wohl ok sein. rcpt to:marek@linux5.meta.de Wir geben den geplanten Empfänger an, der auch wieder auf einer bekannten Domäne sitzen muß. 250 2.1.5 marek@linux5.meta.de... Recipient ok Der Server prüft und ist einverstanden. data Wir drohen jetzt die Daten der Mail an 354 Enter mail, end with "." on a line by itself Das ist klar, und hier die Mail. Hier kommt jetzt der Text der Mail, die man senden moechte - oder so. Am Ende ein Punkt, und keine oe, ue usw. . <== Das ist unsere letzte Eingabe 250 2.0.0 f35AXC900488 Message accepted for delivery Der Server quittiert den Empfang der Nachrichtung quit Wir gehen raus, den wir haben, was wir wollen. 221 2.0.0 linux5.meta.de closing connection Der Server macht seine Seite zu. Connection closed by foreign host. Und wir informieren uns selbst.
Was passiert jetzt, wenn man von einem existierenden User zu einer existierenden, fremden Domäne gehen möchte? Also den remoten Server dazu bringen möchte, die Mail zu relayen (Im Auftrag weiter zu schicken). Das sieht man hier:
~ $ telnet linux5 25 Trying 192.168.1.5... Connected to linux5.meta.de. Escape character is '^]'. 220 linux5.meta.de ESMTP Sendmail 8.11.2/8.11.2/SuSE Linux 8.11.1-0.5; Thu, 5 Apr 2001 12:35:34 +0200 helo elpequeno 250 linux5.meta.de Hello elpequeno.meta.de [192.168.1.7], pleased to meet you mail from:orm@elpequeno 250 2.1.0 orm@elpequeno... Sender ok Der Sender ist in Ordnung, klar. rcpt to:orm.hager@epost.de 550 5.7.1 orm.hager@epost.de... Relaying denied Der Empfänger sitzt jetzt in einer anderen Domäne, und dieser Server ist nicht bereit, als Relay-Host zu dienen - was sicher klug ist. quit 221 2.0.0 linux5.meta.de closing connection Connection closed by foreign host. ~ $
[ Allgemein | UNIX | AIX | TCP-IP | TCP | ROUTING | DNS | NTP | NFS | FreeBSD | Linux | RPi | SMTP | Tracing | GPS | LW ]
Copyright 2001-2021 by Orm Hager - Es gilt die GPL