23. maj 2005 - 21:42
Der er
3 kommentarer og
2 løsninger
\n linjeskift, hvad med fed?
Når jeg sender en mail ved at bruge funktionene mail("sdfs@dgf.dk, osv. bruger jeg \n til at lave linieskift.
Hvordan skriver jeg at et ord skal være fed, kursiv osv.
/13
Jeg tror måske slet ikke helt jeg er med på hvordan man bygger en mail op så.
Jeg har altid bare gjort f.eks. sådan her:
mail("nobody@here.dk", "Subject", "hej\ngår det godt\nVenlig hilsen Mig");
Hvordan sender jeg det som HTML?
en smart funcktion til at sende html mails
$navn=$_POST['navn'];
$email="modtagers@mail.dk;
$besked = "din HTML mail <b>med fed skrift</>";
$TEXT = "Mail hvis ens klient ikke understøtter html";
SendMail(
"fra@mail.dk","afsenders navn", //sender
$email,"Recipients Name", //recipient
"emne", //subject
$TEXT,$besked);
//smid dette ind i en fil du f.eks kalder mail.php
<?
function SendMail($From,$FromName,$To,$ToName,$Subject,$Text,$Html){
$OB="----=_OuterBoundary_000";
$IB="----=_InnerBoundery_001";
$Html=$Html?$Html:preg_replace("/\n/","{br}",$Text)
or die("neither text nor html part present.");
$Text=$Text?$Text:"Sorry, but you need an html mailer to read this mail.";
$From or die("sender address missing");
$To or die("recipient address missing");
$headers ="MIME-Version: 1.0\r\n";
$headers.="From: ".$FromName." <".$From.">\n";
$headers.="To: ".$ToName." <".$To.">\n";
$headers.="Reply-To: ".$FromName." <".$From.">\n";
$headers.="X-Priority: 1\n";
$headers.="X-MSMail-Priority: High\n";
$headers.="X-Mailer: My PHP Mailer\n";
$headers.="Content-Type: multipart/mixed;\n\tboundary=\"".$OB."\"\n";
//Messages start with text/html alternatives in OB
$Msg ="This is a multi-part message in MIME format.\n";
$Msg.="\n--".$OB."\n";
$Msg.="Content-Type: multipart/alternative;\n\tboundary=\"".$IB."\"\n\n";
//plaintext section
$Msg.="\n--".$IB."\n";
$Msg.="Content-Type: text/plain;\n\tcharset=\"iso-8859-1\"\n";
$Msg.="Content-Transfer-Encoding: quoted-printable\n\n";
// plaintext goes here
$Msg.=$Text."\n\n";
// html section
$Msg.="\n--".$IB."\n";
$Msg.="Content-Type: text/html;\n\tcharset=\"iso-8859-1\"\n";
$Msg.="Content-Transfer-Encoding: base64\n\n";
// html goes here
$Msg.=chunk_split(base64_encode($Html))."\n\n";
// end of IB
$Msg.="\n--".$IB."--\n";
// attachments
if($AttmFiles){
foreach($AttmFiles as $AttmFile){
$patharray = explode ("/", $AttmFile);
$FileName=$patharray[count($patharray)-1];
$Msg.= "\n--".$OB."\n";
$Msg.="Content-Type: application/octetstream;\n\tname=\"".$FileName."\"\n";
$Msg.="Content-Transfer-Encoding: base64\n";
$Msg.="Content-Disposition: attachment;\n\tfilename=\"".$FileName."\"\n\n";
$Msg.=$FileContent;
$Msg.="\n\n";
}
}
//message ends
$Msg.="\n--".$OB."--\n";
mail($To,$Subject,$Msg,$headers);
//syslog(LOG_INFO,"Mail: Message sent to $ToName <$To>");
}
?>