Alexander (HH): Danke gelöst

Beitrag lesen

Moin Moin!

hmm ja Danke für den Hinweis. Der Test erfolgt eigentlich während der Konfiguration. Nicht bei der Anwendung des Mailversands.

Dann bleibt zu hoffen, das zwischendurch niemand sendmail gegen was besseres tauscht. ;-)

Der Pfad kann konfiguriert werden. Das dürfte also kein Problem sein.

Ich hab in den letzten paar Jahren eigentlich immer ganz stumpf fünf Konfigurationswerte abgefragt: HELO-Hostnamen (Default: Hostname), SMTP-Host (kein Default), SMTP-Port (Default: 25), SMTP-Username und SMTP-Passwort (Default: jeweils leer, d.h. kein Login nötig).

Das hat bislang für die perversesten Mail-Konstruktionen gereicht. Auch für Novell und Notes gab (gibt?) es Gateway-Server, die den Versand per SMTP erlauben.

Wenn der Server-Admin meint, er müsse sendmail auf dem Server laufen lassen, hat man damit kein Problem: sendmail nimmt Mails auf localhost:25 an. Ist der Admin exim-Fan, auch kein Problem: exim nimmt Mails auf localhost:25 an. Steht der Admin auf Exchange, schickst Du die Mails an localhost:25. Packt den Admin die Paranoia, nimmt er qmail, und Du liefest die Mails bei localhost:25 ab. Schreibt der Admin seinem MTA lieber selbst, lieferst Du die Mails bei localhost:25 ab. Und wenn der Admin meint, dass auf einem Webserver kein Mailserver was zu suchen hat, lieferst Du die Mails eben an $mailserver:25, egal was dort für eine Software läuft.

Egal wie, in jedem Fall mußt Du die Mail komplett selbst konstruieren. Nur zum Ausliefern hast Du die Wahl, entweder startest Du einen unzuverlässigen (1) Subprozess, der die Mail per SMTP verschickt, oder Du öffnest einen Socket und sprichst dort selbst SMTP. MIME::Lite nimmt Dir das komplett ab.

(1) Unzuverlässig im Sinne von: Mal hier, mal da, mal echtes sendmail, mal eine mehr oder weniger gute Immitation.

Bei der Pipe-Konstruktion über open(PIPE,"|program param param param") kommt noch dazu, dass auch noch die Default-Shell ihre Finger im Spiel hat, und Du mit variablen Parametern höllisch aufpassen mußt, damit Du keine Sicherheitslücke baust. perlipc/Safe Pipe Opens ist der sicherere Weg, ein externes Programm wie Sendmail mit variablen Parametern aufzurufen.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".