SELFHTML Forum Doku Wiki Blog

Forumsarchiv 2005, Juli
HTML-EMAILS und outlook

archivierte Beiträge lesen

  1. PHP HTML-EMAILS und outlook susi 25. 07. 2005, 13:28

HTML-EMAILS und outlook

susi 25. 07. 2005, 13:28

hallo,

habe nun bereits 10-20 sktipts aus dem web gezogen und getestet nur ..
outlook stellt jede übersendete mail nicht dar sondern gibt den quellcode bzw. die header aus!
was ist da los?

einer der codes:

 function sendMail($adresse)
    {
        $this->headers = "From: XY@me.com\n";

        //specify MIME version 1.0
        $this->headers .= "MIME-Version: 1.0\n";

        //unique boundary
        $boundary = uniqid("HTMLDEMO");

        //tell e-mail client this e-mail contains//alternate versions
        $this->headers .= "Content-Type: multipart/alternative" .
        "; boundary = $boundary\n\n";

        //message to people with clients who don't
        //understand MIME
        $this->headers .= "This is a MIME encoded message.\n\n";

        //plain text version of message
        $this->headers .= "--$boundary\n" .
        "Content-Type: text/plain; charset=ISO-8859-1\n" .
        "Content-Transfer-Encoding: base64\n\n";
        $this->headers .= chunk_split(base64_encode(strip_tags($this->content)));

        //HTML version of message
        $this->headers .= "--$boundary\r\n" .
        "Content-Type: text/html; charset=ISO-8859-1\n" .
        "Content-Transfer-Encoding: base64\n\n";
        $this->headers .= chunk_split(base64_encode($this->layout));

        //send message
        mail($adresse, "Flirtstar-Mail", "", $this->headers);
        echo $this->layout;
    }

und auch jener code von zend funktioniert nicht:
<?php
//add From: header
$headers = "From: webserver@localhost\r\n";

//specify MIME version 1.0
$headers .= "MIME-Version: 1.0\r\n";

//unique boundary
$boundary = uniqid("HTMLDEMO");

//tell e-mail client this e-mail contains//alternate versions
$headers .= "Content-Type: multipart/alternative" .
   "; boundary = $boundary\r\n\r\n";

//message to people with clients who don't
//understand MIME
$headers .= "This is a MIME encoded message.\r\n\r\n";

//plain text version of message
$headers .= "--$boundary\r\n" .
   "Content-Type: text/plain; charset=ISO-8859-1\r\n" .
   "Content-Transfer-Encoding: base64\r\n\r\n";
$headers .= chunk_split(base64_encode("This is the plain text version!"));

//HTML
version of message
$headers .= "--$boundary\r\n" .
   "Content-Type: text/html; charset=ISO-8859-1\r\n" .
   "Content-Transfer-Encoding: base64\r\n\r\n";
$headers .= chunk_split(base64_encode("This the <b>HTML</b> version!"));

//send
message
mail("root@localhost", "An HTML Message", "", $headers);
?>


immer werden nur die header zeilen ausgegeben! wo liegt der felher, oder ist es outlook?

ich kapier gar nichts mehr! hat wer ahnung davon!

lg, susi

HTML-EMAILS und outlook

susi 25. 07. 2005, 14:25

also falls es jemanden interessiert!
es liegt an den "\r"! alle weg und es geht!

> <?php
> //add From: header
> $headers = "From: webserver@localhost\r\n";
>
> //specify MIME version 1.0
> $headers .= "MIME-Version: 1.0\r\n";
>
> //unique boundary
> $boundary = uniqid("HTMLDEMO");
>
> //tell e-mail client this e-mail contains//alternate versions
> $headers .= "Content-Type: multipart/alternative" .
>    "; boundary = $boundary\r\n\r\n";
>
> //message to people with clients who don't
> //understand MIME
> $headers .= "This is a MIME encoded message.\r\n\r\n";
>
> //plain text version of message
> $headers .= "--$boundary\r\n" .
>    "Content-Type: text/plain; charset=ISO-8859-1\r\n" .
>    "Content-Transfer-Encoding: base64\r\n\r\n";
> $headers .= chunk_split(base64_encode("This is the plain text version!"));
>
> //HTML
> version of message
> $headers .= "--$boundary\r\n" .
>    "Content-Type: text/html; charset=ISO-8859-1\r\n" .
>    "Content-Transfer-Encoding: base64\r\n\r\n";
> $headers .= chunk_split(base64_encode("This the <b>HTML</b> version!"));
>
> //send
> message
> mail("root@localhost", "An HTML Message", "", $headers);
> ?>

HTML-EMAILS und outlook

rob 25. 07. 2005, 14:29

> es liegt an den "\r"! alle weg und es geht!
Laut dem SMTP-RFC (welche Nummer war das noch gleich...?) müssen die Headerzeilen aber alle mit \r\n abgetrennt werden.
Ein einfaches \n reicht nicht aus. Zwar kommen die meisten MTAs damit klar, aber ich würde mich nicht darauf verlassen, daß es wirklich immer funktioniert.

Oder meintest du irgendwo andere Zeilenendungen als die nach den Headern?

Gruß, rob

© 1998-2014 SELFHTMLImpressumSoftware: Classic Forum 3.4