Hvis jeg har noget $indhold som er i HTML som jeg mailer til folk, så kan dem som ikke har slået HTML email til ikke se dem, kan jeg vedhæfte filen så folk kan se den som en vedhæftet HTML fil ?
Du skulle gerne kunne dele din mail op, så begge dele forekommer i samme mail. Hvis du på nedenstående link søger på $mime_boundary skulle der gerne stå lidt om det.
<?php # To Email Address $emailaddress="to@mail.dk"; # Message Subject $emailsubject="Heres An Email in plain and html ".date("Y/m/d H:i:s"); # Message Body $body = '<html><head><title>testmail</title></head><body><b>Dette er en prøvemail</b></body></html>';
# Common Headers $headers .= 'From: from <from@mail.dk>'.$eol; $headers .= 'Reply-To: from <from@mail.dk>'.$eol; $headers .= 'Return-Path: from <from@mail.dk>'.$eol; // these two to set reply address $headers .= "Message-ID: <".$now." from@".$_SERVER['SERVER_NAME'].">".$eol; $headers .= "X-Mailer: PHP v".phpversion().$eol; // These two to help avoid spam-filters # Boundry for marking the split & Multitype Headers $mime_boundary=md5(time()); $headers .= 'MIME-Version: 1.0'.$eol; $headers .= "Content-Type: multipart/related; boundary=\"".$mime_boundary."\"".$eol; $msg = "";
# Setup for text OR html $msg .= "Content-Type: multipart/alternative".$eol;
# Text Version $msg .= "--".$mime_boundary.$eol; $msg .= "Content-Type: text/plain; charset=iso-8859-1".$eol; $msg .= "Content-Transfer-Encoding: 8bit".$eol; $msg .= "This is a multi-part message in MIME format.".$eol; $msg .= "If you are reading this, please update your email-reading-software.".$eol; $msg .= "+ + Text Only Email from Genius Jon + +".$eol.$eol;
# HTML Version $msg .= "--".$mime_boundary.$eol; $msg .= "Content-Type: text/html; charset=iso-8859-1".$eol; $msg .= "Content-Transfer-Encoding: 8bit".$eol; $msg .= $body.$eol.$eol;
# Finished $msg .= "--".$mime_boundary."--".$eol.$eol; // finish with two eol's for better security. see Injection.
# SEND THE EMAIL ini_set(sendmail_from,'from@mail.dk'); // the INI lines are to force the From Address to be used ! mail($emailaddress, $emailsubject, $msg, $headers); ini_restore(sendmail_from); ?>
Ja, det er hvad du får hvis du læser body'en, men hvis du sender det som en mail, fortolker mail-klienten det rigtigt nok. Det virker i hvert fald fint i min Outlook-klient
men i den tredje webmail er det stadig bare kode og der er inge vedhæftet fil, mailen skulle jo gerne kunne ses af alle uanset hvilken mail program de bruger:
Jeg kan ikke fortælle dig, hvorfor det ikke virker i din webmail, kan også se at det ikke virker i min squirrelMail, men hvis du kigger i headeren, kan du se, at boundary'en er rigtig og at mailen er delt op i tre dele. Virker underligt :(
if (mail($to, $subject, $body, $header)) { echo "<p>Dine oplysninger er nu sendt.</p>"; } else { echo "<p>Der er sket en fejl! Prøv igen!</p>"; }
Synes godt om
Ny brugerNybegynder
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.