orm@doc-tcpip.org

Erstellt: Januar 1998 - Letzte Modifikation: August 2001

[ Main | Local ]


Mail von Hand verschicken

Ein direkter Kontakt mit dem Server über Port 25

Direkte Verbindung zum Sendmail-Port

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.
~ $

[ Main | Local ]

[ Allgemein | UNIX | AIX | TCP-IP | TCP | ROUTING | DNS | NTP | NFS | FreeBSD | Linux | SMTP | Tracing | GPS ]

Copyright 2001-2014 by Orm Hager - Es gilt die GPL
Feedback bitte an: Orm Hager (orm@doc-tcpip.org )