Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Mailclient autom. plain oder html liefern [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Mailclient autom. plain oder html liefern


 
strauberry
29-07-2008, 20:15 
 
Hallo zusammen,

gibt es einen Trick, wie man es (möglichst für jeden Mailclient) anstellen kann, dass der HTML-Teil der Mail angezeigt wird, wenn es der Mailclient kann, ansonsten der plain-Teil? Wenn HTML unterstützt wird den plain-Teil mit CSS oder font zu verstecken ist ja kein Ding, aber anders herum :-)

DANKE!

strauberry

 
jmc
29-07-2008, 21:20 
 
Je nach Server kann es auch sein, dass du \r\n statt \n verwenden musst.
Habs nicht getestet, aber es sollte so funktionieren.
$boundary = uniqid("alternative");

$headers = "From: xxx@xxx.ch\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/alternative; boundary = " . $boundary . "\n\n";

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

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

$body .= "--" . $boundary . "--\n";

mail("yyy@yyy.ch", "multipart/alternative message", $body, $headers);


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:09 Uhr.