![]() Mailinglisten-Archive |
Hallo! Vor einiger Zeit gab es schon einmal einen Thread zu Problemen mit Mail- Verschickerei unter PHP, damals kam der f�r mich schon wirklich weiterbringende Tip mit folgender Programm-L�sung: #--------------------------------------- function Mail_It($LocationOfSendmail, $ToAddress, $FromAddress, $AdditionalHeaders, $Subject, $MailText) { # Stand: 17.6.99 # verschickt die Mail �ber eine Process-Pipe an Sendmail. # # R�ckgabe: wohl immer 1... # Leider gibt n�mlich popen() IMMER einen $fp zur�ck, auch wenn es das # Programm unter dem angegebenen Pfad garnicht gibt... if (($fp = popen($LocationOfSendmail . " -t -f\"" . $FromAddress . "\"" ,"w"))!=0) { $out = "From: " . $FromAddress . "\n"; $out .= "To: " . $ToAddress ."\n"; $out .= "Subject: " . $Subject . "\n"; if ($AdditionalHeaders != "") { $out .= $AdditionalHeaders ."\n"; } $out .= "\n"; $out .= $MailText ."\n"; fputs($fp,$out); pclose($fp); return 1; } else { return 0; } } #--------------------------------------- Nun habe ich 2 Probleme: 1.) wenn auf meinem Internet-Server das Sendmail eben mal nicht tut, dann liefert popen() trotzdem nicht false, z.B. wenn der Pfad zu sendmail v�llig falsch ist. Die Mail landet im Nirvana, keiner wei� davon. Wei� jemand eine L�sung, wie man zumindest das korrekte Piping an sendmail kontrollieren kann? 2.) Mit einer l�sung via mail()-Aufruf war ich aus zwei G�nden nicht gl�cklich geworden: - mail() kehrte auf dem Server meines Internet-Providers erst extrem sp�t zur�ck, teilweise fast 1 Minute Wartezeit! Dabei wurde die Mail eigentlich wohl recht schnell verschickt, denn selbst wenn man die Sanduhr der Best�tigungs-Seite (hing wegen mail()..) relativ schnell abbrach, war die Mail drau�en! Der Provider f�hrt fast diesselbe Konfig. wie ich hier (Linux 2.0.x, Apache 1.3.x, PHP 3.07, sendmail 8.8.x) bei mir l�ufts prima! - mit mail() verschickte Mails tragen als Absender "nobody_(at)_mein.rechner.domain.com" oder sowas, irgendwo beim Transport im Internet hat dann meistens ein Sendmail wohl die MX-Eintr�ge des Absenders gecheckt, mein Rechner hier hat nat�rlich keinen, die Mails verschwanden. Mit sendmail() kann ich immerhin den Absneder auch im Envelope modifizieren (�ber den -f-Switch, s.o.). Frage: habe ich die Problematik richtig gedeutet? ___________________________________________________ Uwe Renner <urenner_(at)_r-plex.com> r-plex GmbH, http://www.r-plex.com Danziger Str. 14 71093 Weil im Sch�nbuch Tel. 07157-520820 Fax 07157-520821 Amtsgericht B�blingen, HRB 4599
php::bar PHP Wiki - Listenarchive