Startseite --> Hilfen & Technische Artikel --> Der eigene lokale Web-Server --> Mail-Server einrichten

Wichtiger Hinweis:
Die Informationen in diesem Artikel sind veraltet und sollten höchstens noch zu Referenzzwecken herangezogen werden! Insbesondere rate ich von der Nutzung des ArGoSoft Mail Server ab. Werfen Sie stattdessen mal einen Blick auf hMailServer, es lohnt sich wirklich!
Wenn ich nicht so demotiviert wäre, würde es auch einen neuen Artikel geben...

Mail-Server einrichten

 Warum ein lokaler Mail-Server?
 Mail-Server einrichten
 PHP konfigurieren
 Mails unter Perl versenden

Warum ein lokaler Mail-Server?

Sie werden vermutlich irgendwann mal auf die Idee kommen, serverseitige Scripts zu schreiben, die eine Mail versenden sollen. Dafür ist ein eigener SMTP-Server sehr wichtig. Sie werden wahrscheinlich denken, dass Sie doch zum Beispiel einfach den Server von GMX oder WEB.DE nehmen können. Nun ja, meistens sind diese Server geschützt und kaum einer wird sich die Mühe machen, in sein Script einen Mechanismus einzubauen, der das Script auf dem Server authentifiziert. Außerdem können Sie Ihre Scripts mit einem lokalen Mail-Server in aller Ruhe offline testen, ohne dass im Hintergrund der Gebührenzähler Ihres Providers tickt. Und schließlich können Sie mit Ihrem eigenen Mail-Server das machen, was Sie wollen. Wer weiß, was irgendein Provider zu Ihren Aktivitäten sagt.

Sie sehen also, dass es durchaus von Vorteil sein kann, einen eigenen Mail-Server zu haben. In diesem Artikel wird die Freeware-Fassung des Mail-Servers von ArGoSoft vorgestellt. Er lässt sich leicht konfigurieren, bietet alle wichtigen Funktionen und ist auch noch angenehm klein.

 Nach oben  Nach unten

Mail-Server einrichten

Das erste, was Sie machen müssen, ist das Programm bei ArGoSoft unter http://www.argosoft.com/mailserver/ runterzuladen. Es gibt mehrere Fassungen des Servers, die Freeware-Fassung reicht aber vollkommen aus. In den kostenpflichtigen Fassungen kommen noch viele verschiedene Features hinzu, die Sie aber wahrscheinlich sowieso nicht brauchen werden. Die Installations-Datei ist nicht sonderlich groß, also haben Sie auch bei weniger Bandbreite eine Chance.
Nachdem Sie die Datei agsmail.exe heruntergeladen haben, starten Sie sie und folgen den Anweisungen auf dem Bildschirm.

Nachdem die Installation abgeschlossen ist, wählen Sie im Startmenü Programme, ArGoSoft Mail Server und dann ArGoSoft Mail Server. Die nun erscheinende Meldung bestätigen Sie mit OK. In der Task-Leiste neber der Uhr finden Sie nun ein neues Symbol. Doppelklicken Sie es!
Sie sehen dieses Fenster (das Aussehen kann unter Umständen geringfügig abweichen):

Das Hauptfenster des ArGoSoft Mail Server

Als erstes sollten Sie den Server stoppen. Klicken Sie dazu auf das rote Viereck in der Symbolleiste. Wählen Sie nun Options in der Symbolleiste. Hier können Sie den Mail-Server konfigurieren. Deaktivieren Sie die Optionen Load Server at Windows Startup und Automtically Start the Server. Dadurch verhindern Sie, dass der Server beim Windows-Start geladen wird und auch nicht sofort gestartet wird. Wenn Sie wollen, können Sie diese Optionen auch aktiviert lassen.
Jetzt kommt etwas sehr wichtiges: Aktivieren Sie die Option Allow Relay! Dadurch gestatten Sie dem Server, auch Mails nach außen (also ins Internet) zu verschicken. Allerdings war es das auch noch nicht ganz. Sie müssen noch Ihren DNS-Server eintragen. Der Mail-Server braucht den DNS-Server, damit er weiß, wo er die Mails hinschicken soll (Mail Exchanger Lookups). Die IP-Adresse des DNS-Servers finden Sie so heraus: Wenn Sie noch nicht mit dem Internet verbunden sind, wählen Sie sich zuerst ein. Unter Windows 9x/Me wählen Sie im Startmenü Ausführen. Hier tippen Sie winipcfg ein und drücken auf [ENTER]. Klicken Sie nun auf Weitere Info >>. Übertragen Sie nun die IP-Adresse des DNS-Servers in das entsprechende Feld des Mail-Servers. Unter Windows NT/2000/XP wählen Sie die Eingabeaufforderung, tippen ipconfig /all ein und bestätigen mit [ENTER]. Suchen Sie nach der Adresse des DNS-Servers und übertragen Sie sie in die Mail-Server-Konfiguration. Klicken Sie bitte nicht auf Detect (das rote Häkchen)! Der Mail-Server versucht dann nämlich, den DNS-Server selbstständig zu finden, was in den meisten Fällen schief läuft.
Wenn Sie wollen, können Sie unten die Option Do Not Use Web Interface aktivieren. Dadurch schalten Sie das Web-Interface des Servers ab. Das Web-Interface erlaubt es, per Browser auf die Postfächer zuzugreifen und neue Benutzer einzurichten. Wenn Sie das Web-Interface aktiviert lassen, müssen Sie allerdings im Register Ports den Port für das Web-Interface ändern, damit es keine Probleme mit dem Apache gibt. Ein guter Wert ist 8081 (8080 ist normalerweise für HTTP-Proxys reserviert).

Klicken Sie nun oben auf den Reiter Local Domains. Hier können Sie, wie der Name schon sagt, lokale Domains einrichten. Wählen Sie dazu am besten den Namen Ihres Computers (der steht unter Windows 9x/Me in der Systemsteuerung unter Netzwerk oder in den Systemeigenschaften, wenn es sich um ein NT-basiertes System handelt).

Kommen wir nun zu einem sehr wichtigen Thema: Dem Schutz des SMTP-Servers. Sie müssen ihn unbedingt gegen unerlaubtes Versenden schützen! Sie wollen bestimmt nicht, dass Ihr Server von irgendeinem Spammer für bösartige Absichten missbraucht wird.
Wählen Sie dazu das Register SMTP Authentification. Wie die SMTP-Authentifizierung arbeiten soll, ist Ihre Sache. Entweder verwenden Sie dazu die Benutzernamen und Kennwörter der POP3-Postfächer, oder Sie verwenden dafür einen eigenen Benutzernamen und ein eigenes Kennwort. Ich habe mch für die zweite Möglichkeit entschieden.
Jedenfalls sollten Sie als nächstes ins Feld Do NOT Authenticate The Following IP Adresses den Wert 127.0.0.1 eintippen. Dadurch kann ihr eigener Computer ohne Authentifizierung Mails über den Server versenden, und das ist wichtig. Es macht Sinn, außerdem noch die Netzwerk-IP Ihres Computers dort einzutragen, sofern er denn eine hat.

Einstellungen für SMTP-Authentifizierung

Klicken Sie nun noch auf OK und Sie haben diesen Teil geschafft!

Als nächstes klicken Sie auf das Symbol User Setup in der Symbolleiste. Es erscheint dieses oder ein ähnliches Fenster (bei Ihnen sind aber noch keine Postfächer eingerichtet, also ist das Fenster leer):

Benutzerverwaltung

Hier können Sie beliebig viele Postfächer einrichten. Sie benötigen mindestens eines. An dieses Postfach können dann beispielsweise Ihre Scripts die Mails testweise senden. Klicken Sie auf Add New User und richten Sie einen Benutzer ein (die Finger Information sind für Sie unwichtig). Klicken Sie nun noch auf Close und dann haben Sie es endlich geschafft! Ihr eigener lokaler Mail-Server ist einsatzbereit!

Wenn Sie den Server verwenden wollen, dürfen Sie nicht vergessen, ihn über das kleine Dreieck in der Symbolleiste zu starten.

Anmerkungen:

 Nach oben  Nach unten

PHP konfigurieren

Sie werden sicher irgendwann auf die Idee kommen, ein PHP-Script zu schreiben, das eine Mail versenden soll. Also müssen Sie PHP "beibringen", auf Ihren soeben eingerichteten Mail-Server zuzugreifen.
Dazu öffnen Sie Ihre php.ini (wählen Sie am besten Start --> Ausführen und geben Sie php.ini ein). Suchen Sie nun nach dem Abschnitt [mail function]. Die Voreinstellung SMTP = localhost ist in Ordnung (der Mail-Server ist ja der localhost). Ändern Sie nur noch sendmail_from = me@localhost.com. Tragen Sie anstatt me@localhost.com beispielsweise die Adresse ein, die Sie auch beim Einrichten des Apache eingegeben haben. Wählen Sie nun noch "Speichern" aus "Datei" und schließen Sie den Editor. Fertig!

 Nach oben  Nach unten

Mails unter Perl versenden

Nun ja, jetzt ist PHP in der Lage, Mails zu versenden. Aber was ist mit Perl? Hier gibt es zwei Möglichkeiten:
Die erste, empfehlenswertere Variante ist, sich mit einem der vielen Perl-Module, die Mails versenden können, vertraut zu machen. Das beliebte Net::SMTP gehört seit Perl 5.8 zu den Standard-Modulen und ist im Grunde genommen alles, was Sie brauchen. Zusätzlich finden Sie im CPAN-Archiv etliche weitere Module zum Versenden von Mails. Empfehlenswert ist hier unter anderem Mail::Sendmail, ein systemunabhängiger Mailer, der mit Socket-Kommunikationen arbeitet und aus nur einer Datei besteht, weshalb er sich prima weitergeben lässt. Für komplexe Mails, die über Anhänge usw. verfügen sollen, empfiehlt sich MIME::Lite.
Eine andere Möglichkeit ist das Verwenden eines MTA (Mail Transfer Agent), was vor allem viele ältere Scripts tun. Ein MTA ist ganz einfach ein Programm, das Mails versendet. Die bekanntesten sind wohl sendmail und qmail. Es ist weniger empfehlenswert, Mails über einen MTA zu versenden, da nie sichergestellt ist, ob das System über einen verfügt (ganz besonders unter Windows). Aus diesem Grund hat das nms-Projekt ein kleines Perl-Script namens nms sendmail geschrieben, das einen MTA emuliert, indem es Daten von der Standardeingabe liest, Kontakt zu einem SMTP-Server aufnimmt und eine Mail versendet. Wie gesagt, nms sendmail emuliert einen MTA, es ist also kein echter Ersatz. Für die meisten Perl-Scripts reicht es aber vollkommen.

Sie bekommen nms sendmail kostenlos unter http://sourceforge.net/projects/nms-cgi/. Entpacken Sie das Archiv in einen beliebigen Ordner, zum Beispiel C:\Programme\nms_sendmail, hauptsache außerhalb des Root- bzw. CGI-Verzeichnisses. Das war's eigentlich auch schon. Sie müssen das Script nicht weiter konfigurieren. Aber Sie können wie ich noch ein paar "Schönheitsoperationen" durchführen:

Öffnen Sie die Datei nms_sendmail mit einem beliebigen Editor. Als erstes passen Sie nun den Aufruf für den Perl-Interpreter an. Weiter unten finden Sie die Zeile my $mailhost = 'localhost';. Normalerweise müssen Sie diese Zeile nicht ändern, denn Ihr Mail-Server ist ja der localhost. Wieder etwas weiter unten steht my $helohost = '.';. Hier können Sie anstatt dem Punkt zum Beispiel Ihren Computernamen eintragen. Aber Sie können es auch bei dem Punkt belassen.

Ich habe das Script noch zusätzlich angepasst. Und zwar habe ich bei mir eine Standard-Absender-Adresse eingebaut.
Wenn Sie auch so etwas haben wollen, suchen Sie zuerst nach dieser Stelle im Script:

command($socket, "HELO $helohost", '^2');
command($socket, "MAIL FROM: <$sender>", '^2');

foreach my $r (@rcpt)
{
   command($socket, "RCPT TO: <$r>", '^2');
}

command($socket, "DATA", '^3');

Ändern Sie diese so um, dass Sie in etwa folgendermaßen aussieht:

$sender = 'ihreAdresse@domain.xyz' if($sender eq "");

command($socket, "HELO $helohost", '^2');
command($socket, "MAIL FROM: <$sender>", '^2');

foreach my $r (@rcpt)
{
   command($socket, "RCPT TO: <$r>", '^2');
}

command($socket, "DATA", '^3');

$socket->print("From: <$sender>\015\012");

Ersetzen Sie ihreAdresse@domain.xyz zum Beispiel durch die Adresse, die Sie auch bei der Einrichtung des Apache angegeben haben.

Speichern Sie nun noch die Datei ab.

Wie auch immer, Sie können nms sendmail jetzt für Ihre Perl-Scripts verwenden. Näheres dazu finden Sie in der Datei README, die im Verzeichnis liegt, in das Sie das Script entpackt haben. Rufen Sie das Script aber bitte nur aus einem anderen Perl-Script auf!

Startseite --> Hilfen & Technische Artikel --> Der eigene lokale Web-Server --> Mail-Server einrichten