SMTP-Tester für die Kommandozeile
Möchte man die Funktionalität eines einfachen SMTP Servers testen, kann man dies mit telnet machen. Sobald man allerdings auch Verschlüsselung und Authentifizierung des Servers testen muss, geht dies mit telnet nicht mehr. In diesem Falle hilft einem swaks weiter.
Auf FreeBSD findet man swaks unter mail/swaks:
# cd /usr/ports/www/swaks && make install clean
Nun kann mit der -s Option angegeben werden, welcher Server getestet werden soll:
# swaks -s mail.chruetertee.ch
To: beat@chreutertee.ch
=== Trying mail.chruetertee.ch:25...
=== Connected to mail.chruetertee.ch.
<- 220 mail.chruetertee.ch ESMTP Sendmail 8.13.6/8.13.6
-> EHLO daedalus.network.local
<- 250-mail.chruetertee.ch
<- 250-8BITMIME
<- 250-PIPELINING
<- 250-HELP
<- 250 SIZE 26214400
-> MAIL FROM:<beat@daedalus.network.local>
<** 553 <beat@daedalus.network.local> unable to verify address
-> QUIT
<- 221 mail16.bluewin.ch QUIT
=== Connection closed with remote host.
Nun sieht man, dass die Absenderadresse nicht aufgelöst werden konnte und deshalb die Mail nicht versandt wurde.
Im folgenden Beispiel wird die Absenderadresse mit der -f Option festgelegt und die Verbindung verschlüsselt via SSMTP versendet. Zudem muss der Benutzer authentifiziert werden:
# swaks -s mail.chruetertee.ch --protocol SSMTP -f null@chreutertee.ch -a
To: beat@chreutertee.ch
Username: beat
Password: **************
=== Trying mail.chruetertee.ch:465...
=== Connected to mail.chruetertee.ch.
=== TLS started w/ cipher DHE-DSS-AES256-SHA
<~ 220 mail.chruetertee.ch ESMTP Sendmail 8.13.6/8.13.6; Sat, 30 Jun 2007 12:47:15 GMT
~> EHLO daedalus.network.local
<~ 250-mail.chruetertee.ch Hello 192.168.1.1 [192.168.1.1], pleased to meet you
<~ 250-ENHANCEDSTATUSCODES
<~ 250-PIPELINING
<~ 250-8BITMIME
<~ 250-SIZE
<~ 250-DSN
<~ 250-ETRN
<~ 250-AUTH PLAIN LOGIN
<~ 250-DELIVERBY
<~ 250 HELP
~> AUTH LOGIN
<~ 334 asdfghjklwert
~> dfghjj==
<~ 334 qwertzuioiuz
~> sdfghjklmnbvcxyre
<~ 235 2.0.0 OK Authenticated
~> MAIL FROM:<null@chreutertee.ch>
<~ 250 2.1.0 <null@chreutertee.ch>... Sender ok
~> RCPT TO:<beat@chreutertee.ch>
<~ 250 2.1.5 <beat@chreutertee.ch>... Recipient ok
~> DATA
<~ 354 Enter mail, end with "." on a line by itself
~> Date: Sat, 30 Jun 2007 14:45:58 +0200
~> To: beat@chreutertee.ch
~> From: null@chreutertee.ch
~> Subject: test Sat, 30 Jun 2007 14:45:58 +0200
~> X-Mailer: swaks v20061116.0 jetmore.org/john/code/#swaks
~>
~> This is a test mailing
~>
~> .
<~ 250 2.0.0 l5UClFLM068527 Message accepted for delivery
~> QUIT
<~ 221 2.0.0 mail.chruetertee.ch closing connection
=== Connection closed with remote host.
swaks gibt immer die vollständige Kommunikation zwischen dem Client und dem Server aus, so können Fehler und Probleme eines SMTP-Servers erkannt werden. swaks bietet eine grosse Anzahl von Optionen, welche alle in der Manpage beschrieben sind, welche man wie folgt aufruft:
# swaks --help