checkmail/checkmail.readme

127 lines
4.4 KiB
Plaintext
Raw Permalink Normal View History

NAME
checkmail
SYNOPSIS
checkmail.pl [-hqlr] [-m <host>] -f <file>|<address>
DESCRIPTION
checkmail pr<70>ft die Zustellbarkeit von E-Mail-Adressen. Es ist
entweder die zu pr<70>fende Adresse als letztes Argument oder
mit dem Parameter -f eine Datei mit zu pr<70>fenden Adressen zu
<20>bergeben.
Argumente:
-h
Mit dem Argument -h wird eine kurze Hilfe ausgegeben.
-q
Mit dem Argument -q werden alle Ausgaben unterdr<64>ckt;
das Script beendet sich nur mit einem Exit-Status zwischen
0 und 3.
-l
Mit dem Argument -l wird ein ausf<73>hrliches Logging des
SMTP-Dialogs aktiviert.
-r
Mit dem Argument -r wird auch eine gezielt ung<6E>ltige Adresse
gepr<70>ft, um festzustellen, ob der Host nicht einfach jede
Mailadresse ohne Pr<50>fung akzeptiert.
-m
Mit dem Argument -m, gefolgt nach Leerzeichen von einem
Hostnamen, kann statt der Abfrage des f<>r die Domain
zust<73>ndigen Hosts per DNS die Zustellf<6C>higkeit bei einem
bestimmten Host gepr<70>ft werden.
Beispiel: checkmail.pl -m test.host.example mail@domain.example
-f
Mit dem Argument -f, gefolgt nach Leerzeichen von einem
Dateinamen, kann eine ganze Reihe von zu pr<70>fenden Mailadressen
aus einer Datei eingelesen werden, die jeweils eine Adresse
pro Zeile enth<74>lt.
Beispiel: checkmail.pl -f adressen.txt
Basiskonfiguration:
Die Basiskonfiguration erfolgt innerhalb des Scripts. Anzugeben
sind:
$config{'helo'}:
Der im SMTP-Dialog f<>r HELO/EHLO zu verwendende Hostname.
$config{'from'}:
Die Absenderadresse (Envelope-From:) f<>r den Test.
$config{'rand'}:
Der Localpart der f<>r den Parameter -r erforderlichen
zuf<75>lligen Adresse.
Funktionsweise:
Vor dem ersten Aufruf ist innerhalb des Scripts die
Basiskonfiguration vorzunehmen.
Danach kann das Script unter Angabe der zu pr<70>fenden E-Mail-Adresse
aufgerufen werden. Es versucht den oder die zust<73>ndigen MX (Mail
eXchanger) f<>r die Domain der Mailadresse zu ermitteln (ggf., falls
nicht vorhanden, an den entsprechenden Host zuzustellen), nach dort
zu verbinden und den SMTP-Dialog bis zum "RCPT TO:" durchzuf<75>hren,
um dann die Antwort des Mailservers auszuwerten.
Um Mailserver zu erkennen, die zun<75>chst jede Mailadresse akzeptieren
und unerw<72>nschte Mail erst sp<73>ter bouncen oder unterdr<64>cken, kann
danach ein weiterer Test mit einer sicher ung<6E>ltigen Mailadresse
ausgef<65>hrt werden (-r).
Nicht nur das Ergebnis des Tests, sondern auch der Dialog mit dem
Mailserver kann vermittels des Parameters -l ausgegeben werden; dies
ist hilfreich, um auszuschlie<69>en, da<64> die die Testverbindung aus
andere Gr<47>nden abgewiesen wird.
Wenn (gar) keine Textausgabe gew<65>nscht ist, kann diese vermittels -q
unterdr<64>ckt werden; das Script beendet sich dann mit einem der vier
folgenden Statuscodes:
0: Adresse g<>ltig oder Massenaufruf (-f)
1: Adresse ung<6E>ltig
2: Adresse kann nicht gepr<70>ft werden (-r und negativer Test)
3: tempor<6F>rer Fehler
Mehrere Mailadressen k<>nnen mit Hilfe des Parameters -f innerhalb
einer Datei (eine Adresse pro Zeile) <20>bergeben werden; in diesem
Fall wird immer der Status "0" zur<75>ckgegeben.
Schlie<69>lich kann mit Hilfe des Parameters -m die DNS-Abfrage
unterdr<64>ckt und die Verbindung zu einem bestimmten Host erzwungen
werden.
Hinweis: Der Test sollte nicht von einem Dialup-Host oder einem Host
auf einer sonstigen Blacklist aus durchgef<65>hrt werden! Ggf. kann ein
erneuter Aufruf von checkmail.pl -l f<>r Klarheit sorgen, ob der Test
wegen der Auswertung einer Blacklist - unabh<62>ngig von der verwendeten
Adresse - fehlschl<68>gt.
DEPENDANCIES
Die folgenden CPAN-Module werden neben Perl 5.6.1 oder h<>her ben<65>tigt:
Net::DNS
BUGS
- Fehler und Fehleingaben werden gr<67><72>tenteils nicht abgefangen.
Weitere Bugs nimmt <thh@inter.net> gerne entgegen.
AUTHOR
Thomas Hochstein <thh@inter.net>
VERSION
V 0.2 [beta]
COPYRIGHT
<20> 2002-2005 Thomas Hochstein.
See source for license und warranty.