Hej! Först skall jag säga att jag inte alls kan PHP, men jag har hittat ett enkelt skript på nätet som dock inte verkar fungera till 100%, och jag vore tacksam om någon kunnig person skulle kunna hjälpa till att identifiera felet. Syftet är att skapa en enkel (tillfällig) sida för hälsningskort, som skickas iväg som HTML-mejl. Så här ser det ut i anonymiserat skick, det är ursprungligen hämtat från https://www.shopkanji.com men verkar inte längre finnas uppe i originalform.
<?php
$tname = stripslashes($_REQUEST["tname"]) ;
$temail = $_REQUEST["temail"] ;
$yname = stripslashes($_REQUEST["yname"]) ;
$yemail = $_REQUEST["yemail"] ;
$greeting = $_REQUEST["greeting"] ;
$message = nl2br($_REQUEST["message"]) ;
$close = $_REQUEST["close"] ;
$image = $_REQUEST["image"] ;
$background = $_REQUEST["background"] ;
$fonts = $_REQUEST["fonts"] ;
$fontc = $_REQUEST["fontc"] ;
$body = '<html><body bgcolor="';
$body .= "$background";
$body .= '"><br><table width="500" border="0" align="center" cellpadding="10" cellspacing="0"><tr><td width="320" align="left" valign="top"><a href="http://[source]"><img src="';
$body .= "$image";
$body .= '" width="305" height="420" border="0"></a></td><td align="left" valign="top"><p><font face="';
$body .= "$fonts";
$body .= '" color="';
$body .= "$fontc";
$body .= '">';
$body .= stripslashes("$greeting");
$body .= ' ';
$body .= stripslashes("$tname");
$body .= ',</font></p><p><font face="';
$body .= "$fonts";
$body .= '" color="';
$body .= "$fontc";
$body .= '">';
$body .= stripslashes("$message");
$body .= '</font></p><p><font face="';
$body .= "$fonts";
$body .= '" color="';
$body .= "$fontc";
$body .= '">';
$body .= stripslashes("$close");
$body .= ',</font></p><p><font face="';
$body .= "$fonts";
$body .= '" color="';
$body .= "$fontc";
$body .= '">';
$body .= stripslashes("$yname");
$body .= '</font></p></td></tr></table><br><hr width="500" noshade><div align="center"><a href="http://[source]"><font face="';
$body .= "$fonts";
$body .= '" color="';
$body .= "$fontc";
$body .= '">Send ';
$body .= "$yname";
$body .= ' or another friend an E-card.</font></a><br><hr width="500" noshade><br><table width="500" border="0" cellspacing="0" cellpadding="0"><tr><td align="center"><p><a href="http://"><font face="';
$body .= "$fonts";
$body .= '" color="';
$body .= "$fontc";
$body .= '">xxx</font></a></p></td></tr></table></div></body></html>';
$headers = "MIME-Version: 1.1\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: $yname <$yemail>\r\n";
$headers .= "Disposition-Notification-To: $yname <$yemail>\r\n";
$copy = "MIME-Version: 1.0\r\n";
$copy .= "Content-type: text/html; charset=iso-8859-1\r\n";
$copy .= "From: [X] <sender@address>\r\n";
mail( "$temail", "$yname has sent you an E-Card!", $body, $headers );
mail( "$yemail", "You have just sent $tname an E-Card!", $body, $copy );
header( "Location: http://[source]" );
?>
Problemet är nu att korten som skickas inte visas som HTML vid framkomsten utan som kod i vissa mejlprogram (Mail, Entourage) medan det verkar fungera som det ska i t.ex. Hotmail och Chello Webmail. Vet inte om det beror på något fel i själva PHP-kodningen - vad jag förstår är det "$headers .= "Content-type: text/html" som skall styra detta? - eller om felkällan kan ligga någon annanstans? Och vad kan man i så fall göra åt det? Tacksam för alla slags råd, tips och förslag. :)