Avatar billede hoejgaard Juniormester
09. august 2005 - 12:54 Der er 4 kommentarer og
1 løsning

email med html

hej.
jeg har følgende script til afsendelse af emails :

<html>
<head>
<title>Mails</title></head>
<body>
<?
$conn = mysql_connect("localhost","xxxxxxx","xxxxxxxx") or die(mysql_error());
mysql_select_db("xxxxxxx", $conn) or die(mysql_error());

$res = mysql_query("select email from medlem");
$headers = "From: xxxxxxx.dk <xxxxxx@xxxxxxx.dk>\r\n";// Afsenderadresse
$headers .= "Bcc: ";
while ($row = mysql_fetch_assoc($res)) {
    $headers .= $row['email'].",";
}
$headers = substr($headers, 0, strlen($headers)-1);
$to = "bruger <mhj@privat.tdcadsl.dk>";// Selve adressen
$besked = "Hej

det er mig

Med venlig hilsen

xxxxxxxxx.dk";
$sub = "emnet";



mail($to, $sub, $besked, $headers);

?>
</body>
</html>

Men vil gerne at der kan laves forsk farver på tekst og fed skrift feks..samt måske billeder sammen med teksten..
Hvordan får jeg det indpasset i ovenstående ??
Avatar billede imago-dei Nybegynder
09. august 2005 - 13:00 #1
Jeg sidder ikke lige med opskriften til dit problem.

Men jeg vil på det kraftigste fraråde dig at bruge html i emails, hvis det skal sendes til forskellige modtagere - hvis det ikke er strengt nødvendigt.

Der er nemlig mange e-mail klienter som ikke kan læse html, eller brugerne har slået denne funktion fra. Jeg får f.eks. e-mails fra amazon, som er totalt ulæselige når jeg bruger min web client til at læse mailen.
Avatar billede neess Nybegynder
09. august 2005 - 13:22 #2
Function så kan du bruge alm html tags når du mailer.
<?
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>");
}
?>
Avatar billede neess Nybegynder
09. august 2005 - 13:23 #3
Du kalder den på denne måde
    SendMail(
  "info@xxx.dk","xxxx.dk",        //sender
  $email,"modtagers navn",    //recipient
  "Booking/forespørgelse fra nettet",                              //subject
  $TEXTnonHTML,$mailbodyHTML);
Avatar billede hoejgaard Juniormester
09. august 2005 - 14:41 #4
ok neess, men får jeg så det problem med ulæselige emails som imago-dei beskriver ??
Avatar billede neess Nybegynder
16. september 2005 - 14:02 #5
Du denne function kaldes med 2 paratre $TEXTnonHTML,$mailbodyHTML
hvis ens mail klient ikke kan tyde html vil TEXTnonHTML variablen blive vidst istedet for.Så på den måde kan du helgardere dig. Men ellers vil jeg mene at de fleste vil kunne modtage i html. Selv diverse webmails tyder html mails.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester