Initial commit.
[mail/checkmail.git] / checkmail.readme
1 NAME
2        checkmail
3
4 SYNOPSIS
5        checkmail.pl [-hqlr] [-m <host>] -f <file>|<address>
6
7 DESCRIPTION
8        checkmail prüft die Zustellbarkeit von E-Mail-Adressen. Es ist
9        entweder die zu prüfende Adresse als letztes Argument oder
10        mit dem Parameter -f eine Datei mit zu prüfenden Adressen zu
11        übergeben.
12
13    Argumente:
14
15        -h
16             Mit dem Argument -h wird eine kurze Hilfe ausgegeben.
17
18        -q
19             Mit dem Argument -q werden alle Ausgaben unterdrückt;
20             das Script beendet sich nur mit einem Exit-Status zwischen
21             0 und 3.
22
23        -l
24             Mit dem Argument -l wird ein ausführliches Logging des
25             SMTP-Dialogs aktiviert.
26
27        -r
28             Mit dem Argument -r wird auch eine gezielt ungültige Adresse
29             geprüft, um festzustellen, ob der Host nicht einfach jede
30             Mailadresse ohne Prüfung akzeptiert.
31        -m
32             Mit dem Argument -m, gefolgt nach Leerzeichen von einem
33             Hostnamen, kann statt der Abfrage des für die Domain
34             zuständigen Hosts per DNS die Zustellfähigkeit bei einem
35             bestimmten Host geprüft werden.
36
37             Beispiel: checkmail.pl -m test.host.example mail@domain.example
38
39        -f
40             Mit dem Argument -f, gefolgt nach Leerzeichen von einem
41             Dateinamen, kann eine ganze Reihe von zu prüfenden Mailadressen
42             aus einer Datei eingelesen werden, die jeweils eine Adresse
43             pro Zeile enthält.
44
45             Beispiel: checkmail.pl -f adressen.txt
46
47
48    Basiskonfiguration:
49    
50        Die Basiskonfiguration erfolgt innerhalb des Scripts. Anzugeben
51        sind:
52        
53        $config{'helo'}:
54             Der im SMTP-Dialog für HELO/EHLO zu verwendende Hostname.
55
56        $config{'from'}:
57             Die Absenderadresse (Envelope-From:) für den Test.
58
59        $config{'rand'}:
60             Der Localpart der für den Parameter -r erforderlichen
61             zufälligen Adresse.
62
63    Funktionsweise:
64    
65        Vor dem ersten Aufruf ist innerhalb des Scripts die
66        Basiskonfiguration vorzunehmen.
67        
68        Danach kann das Script unter Angabe der zu prüfenden E-Mail-Adresse
69        aufgerufen werden. Es versucht den oder die zuständigen MX (Mail
70        eXchanger) für die Domain der Mailadresse zu ermitteln (ggf., falls
71        nicht vorhanden, an den entsprechenden Host zuzustellen), nach dort
72        zu verbinden und den SMTP-Dialog bis zum "RCPT TO:" durchzuführen,
73        um dann die Antwort des Mailservers auszuwerten.
74        
75        Um Mailserver zu erkennen, die zunächst jede Mailadresse akzeptieren
76        und unerwünschte Mail erst später bouncen oder unterdrücken, kann
77        danach ein weiterer Test mit einer sicher ungültigen Mailadresse
78        ausgeführt werden (-r).
79        
80        Nicht nur das Ergebnis des Tests, sondern auch der Dialog mit dem
81        Mailserver kann vermittels des Parameters -l ausgegeben werden; dies
82        ist hilfreich, um auszuschließen, daß die die Testverbindung aus
83        andere Gründen abgewiesen wird.
84        
85        Wenn (gar) keine Textausgabe gewünscht ist, kann diese vermittels -q
86        unterdrückt werden; das Script beendet sich dann mit einem der vier
87        folgenden Statuscodes:
88        
89           0: Adresse gültig oder Massenaufruf (-f)
90           1: Adresse ungültig
91           2: Adresse kann nicht geprüft werden (-r und negativer Test)
92           3: temporärer Fehler
93
94        Mehrere Mailadressen können mit Hilfe des Parameters -f innerhalb
95        einer Datei (eine Adresse pro Zeile) übergeben werden; in diesem
96        Fall wird immer der Status "0" zurückgegeben.
97        
98        Schließlich kann mit Hilfe des Parameters -m die DNS-Abfrage
99        unterdrückt und die Verbindung zu einem bestimmten Host erzwungen
100        werden.
101
102    Hinweis: Der Test sollte nicht von einem Dialup-Host oder einem Host
103    auf einer sonstigen Blacklist aus durchgeführt werden! Ggf. kann ein
104    erneuter Aufruf von checkmail.pl -l für Klarheit sorgen, ob der Test
105    wegen der Auswertung einer Blacklist - unabhängig von der verwendeten
106    Adresse - fehlschlägt.
107
108 DEPENDANCIES
109        Die folgenden CPAN-Module werden neben Perl 5.6.1 oder höher benötigt:
110
111             Net::DNS
112
113 BUGS
114        - Fehler und Fehleingaben werden größtenteils nicht abgefangen.
115
116        Weitere Bugs nimmt <thh@inter.net> gerne entgegen.
117
118 AUTHOR
119        Thomas Hochstein <thh@inter.net>
120
121 VERSION
122        V 0.2 [beta]
123
124 COPYRIGHT
125        © 2002-2005 Thomas Hochstein.
126        See source for license und warranty.
This page took 0.012573 seconds and 3 git commands to generate.