cgicorner.ch

Informationen rund um Perl/CGI

Sie sind hier: Home > Knowledge Base > sendmail unter Windows

sendmail unter Windows

Wie kann man am besten ein sendmail auf einem Windows-Rechner zum laufen bringen, ohne dass man alle Scripte umschreiben muss?

Linux bietet in der Standard-Ausstattung in der Regel sendmail. An Sendmail kann über eine Pipe (also STDIN) ein Quelltext eines Mails übergeben, werden, welches dann vom Server verschickt wird. Dadurch ist der Mailversand aus Scripts sehr einfach, was auch dazu führte, dass die allermeisten Scripts für den Mailversand auf sendmail zurückgreifen (auch wenn es mittlerweile Perl Module gibt, welche das Mail direkt via SMTP versenden).

Mittlerweile muss man auch unter Windows aber nicht auf sendmail verzichten und kann somit Perl-Script mit Mailversand uneingeschränkt nutzen. An dieser Stelle seien zwei Programme erwähnt:

  • IndigoMail von IndigoStar bietet einen Sendmail-Clone für Windows, welcher im Befehlssyntax zu 100% mit dem UNIX-Pendant übereinstimmt. Dadurch lassen sich alle Scripts mit Sendmail-Nutzung auch unter Windows betreiben, einzig der Pfad zu sendmail muss natürlich noch angepasst werden. Die 100%ige Kompatibilität lässt sich der Hersteller aber mit $49 pro Server verhältnismässig teuer bezahlen. Auf der Homepage gibt es eine 30 Tage Testversion.
  • "fake sendmail for windows" ist da die deutlich preiswertere Variante (genauer gesagt kostenlos). Das Programm ist nicht zu 100% kompatibel mit dem UNIX-Pendant und setzt beispielsweise die Nutzung des -t Parameters voraus (d.h. der Empfänger wird aus dem Quelltext des Mails ausgelesen und nicht als Parameter übergeben), funktioniert aber gemäss meinen ersten Tests (nicht in Produktivumgebungen) ebenfalls sehr zuverlässig. Die Scripts von cgicorner.ch basieren sowieso alle auf dem -t Parameter für sendmail, d.h. sind auch mit "fake sendmail for windows" unter Windows verwendbar. Scripts von anderen Seiten können aber Probleme haben. Ein Versuch lohnt sich aber auf jeden Fall.

Besonders erwähnen möchte ich an dieser Stelle auch noch SENDMAIL, ein Script von cgicorner.ch. SENDMAIL dient als Zwischenscript zu einem beliebigen Script und einem SMTP-Server via Net::SMTP. Voraussetzung hierfür ist nur ein installiertes Perl-Modul Net::SMTP, welches beispielsweise auch unter Windows enthalten ist. Im Quell-Script wird als Pfad zu sendmail nun auf das Script SENDMAIL verwiesen, so dass das Script ohne Anpassungen über die ihr bekannte sendmail-Schnittstelle ihre Mails versenden kann. SENDMAIL nimmt dann diese E-Mails entgegen und versendet sie via Net::SMTP an einen SMTP-Server. Natürlich ist hier nur ein Bruchteil der Sendmail-Funktionalität umgesetzt, SENDMAIL funktioniert jedoch mit allen Scripts von cgicorner.ch, welche Mails versenden (beispielsweise cal, csvTool, FormMailer, jsCards, jsGuest, jsMarket, jsNews, jsStat) einwandfrei, inkl. Dateianhänge. Eine Installationsanleitung befindet sich im ZIP-Archiv.

Weiterführende Links

Autor: Jürg Sommer, knowledge@cgicorner.ch

[ zurück ]