HTML Mails versenden.

eXistenC

Mitglied
Hallo Leute,

momentan versuche ich mich am MAIL.

Dabei möchte ich HTML Mails versenden was auch auf den ersten Blick mit folgendem Beispiel aus einem Buch funktionierte:

Code:
$nachricht = "<h1>E-Mail Body</h1><p>der im Mail verschickt wird...</>";

$an = "existenz@live.de";

$betreff = "das ist der betreff";

$xtra = "From: info@existenz.org (absendername)\r\n";
$xtra .= "Content-Type: text/html\r\nContent-Transfer-Encoding:8bit\r\n";
$xtra .= "X-Mailer: PHP ".phpversion();

echo "An: $an<br>";
echo "Betreff: $betreff<br><br>";
echo $nachricht;
echo "<br><br><br>";
echo $xtra;


mail($an, $betreff, $nachricht, $xtra);

Bei Hotmail bekomme ich auch die HTML Mail in richtiger Formatierung.
Allerdings habe ich bei Strato-Webmail nur ein Textmail in dem ich die TAGS sehen kann. Kann mir einer einen Tip geben wie ich den COde ändern muss das alle Clients die HTML Mails richtig darstellen?

Danke Euch schon mal im vorraus.
eXistenC
 
Hi, ich habe mich nun noch nicht sehr intensiv mit der Mail-Funktion beschäftigt und auch Strato kenn ich nicht,

aber ich wage es zu vermuten das eher Strato-Webmail ein Problem mit der HTML ausgabe hat, als dein Script ;)

Gruß Marycio
P.s.: Wenn das nicht stimmt, dann korrigiert mich einfach ;)
 
ist schon etwas länger her, dass ich eine HTML-Mail versendet habe, aber versuch doch mal "richtiges" HTML zu schreiben.. also mit <html>-Tags und header und body usw.
vielleicht liegt es daran..
mfg
enne
 
Hallöchen,

versuch es mal damit:

PHP:
<?php
function send_mail($to, $subject, $message, $fromname, $frommail) {
    $from = ''.addslashes($fromname).' <'. $frommail .'>';
    $lbr = strstr(PHP_OS, 'WIN') ? "\r\n" : "\n";
    
	$headers = 'From: '.$from.$lbr;
    $headers .= 'Reply-To: '.$from.$lbr;
    $headers .= 'Return-Path: '.$from.$lbr;
    $headers .= 'Content-Type: text/html; charset=iso-8859-1'.$lbr;
    
	$subject = preg_replace("#\r?\n#", '', trim($subject));
    $message = implode("\n", preg_split("/\r?\n/", $message));
    
	return @mail($to, $subject, $message, $headers);
}

$nachricht = "<h1>E-Mail Body</h1><p>der im Mail verschickt wird...</>";
$an = "existenz@live.de";
$betreff = "das ist der betreff";
$from_mail	=	"info@existenz.org";
$from_name	=	"absendername";

send_mail($an, $betreff, $nachricht, $from_name, $from_mail);
?>

Ich stand mal vor dem selben Problem, dass GMX die HTML Mails nicht korrekt dargestellt hat. Mit dieser Funktion habe ich es hinbekommen.

Gruß
Sven
 
Hi, ich habe mich nun noch nicht sehr intensiv mit der Mail-Funktion beschäftigt und auch Strato kenn ich nicht,

aber ich wage es zu vermuten das eher Strato-Webmail ein Problem mit der HTML ausgabe hat, als dein Script ;)

Gruß Marycio
P.s.: Wenn das nicht stimmt, dann korrigiert mich einfach ;)

Ne, an Strato Webmail liegt es nicht, denn die EBAY spams bekomme ich immer schön mit HTML gezeigt. Also geht HTML. Denke das ich sicher nur eine Kleinigkeit übersehe.
 
ist schon etwas länger her, dass ich eine HTML-Mail versendet habe, aber versuch doch mal "richtiges" HTML zu schreiben.. also mit <html>-Tags und header und body usw.
vielleicht liegt es daran..
mfg
enne

Du meinst das ich einen vollständigen Header aufbauen sollte? Mit Transition, HEady, Body, etc? Werde ich morgen mal ausprobieren. Aber das könnte schon das Problem sein. Klingt aber schon schlüssig, das der Client von WebMail sonst falsch interpretiert.
 
Zurück