phpbar.de logo

Mailinglisten-Archive

[php] Mal ne frage wegen mail()

[php] Mal ne frage wegen mail()

=?iso-8859-1?Q?Bj=F6rn_Schotte?= bjoern_(at)_baer.main.de
Sun, 9 Jul 2000 15:27:43 +0200


* Sebastian Bergmann wrote:
>       $headers = $headers.$extras;
>     }
>     _(at)_mail( $to, $subject, $body, $headers );
>   }

Die Beispiele nutzen aber leider nicht wenn eine Mail bounced,
d.h. eine Mail nicht zustellbar ist. Hier wird die Mail nämlich
an den Envelope-From[1] geschickt, den man mit den additional
headers der mail()-Funktion nicht beeinflussen kann. Wer solche
Sachen auch noch berücksichtigen möchte (dringend empfohlen, sonst
landen Bounces z.B. beim webmaster des Servers oder so), kann folgendes
tun:

$envelopefrom="deine_(at)_mail.adresse.de";

if (!$fp=popen("/usr/sbin/sendmail -t -f $envelopefrom","w"))
{
  print "fehler!";
} else
{
  $out = "From: bla_(at)_blubb.de\n".
         "To: blubb_(at)_test.de\n".
         "Subject: bouncing\n\n".
         "hier der Inhalt";
  fputs($fp,$out);
  pclose($fp);
}

Wird diese E-Mail an blubb_(at)_test.de geschickt, so wird
sie höchstwahrscheinlich unzustellbar sein. Ein Bounce
geht dann an $envelopefrom (deine_(at)_mail.adresse.de). Ich
bevorzuge mittlerweile bei meinen Newslettersystemen etc.
diese Art des Mailversands. (Kann man natürlich noch optimieren,
insbesondere eignet sich diese Methode nicht bei Newslettern
mit mehreren hundert Empfängern, hier sollte man entweder auf
eine richtige Listserversoftware zugreifen oder direkt, z.B.
mit Manuel Lemos' SMTP-Klasse, mit dem SMTP-Server sprechen
und Mails verschicken)


[1]: eine Mail kann man sich vorstellen wie eine Brief in einem
Briefumschlag: auf dem Briefumschlag stehen Absender und Empfänger,
im Brief selbst auch noch mal Absender + Empfänger (die sich aber
von denen aus dem Briefumschlag unterscheiden können). Kann eine
E-Mail nicht zugestellt werden, wird an den Absender des Briefumschlags
eine Fehlermeldung geschickt.
-- 
<?php class new_media_development {
        var $url="http://www.rent-a-phpwizard.de/";
        var $fon="0931/7843792"; var $fax="0931/7843795";
} /* Björn Schotte, "Mr. PHP" */ ?>


php::bar PHP Wiki   -   Listenarchive