Avatar billede learner Praktikant
11. februar 2010 - 15:44 Der er 5 kommentarer og
1 løsning

Letteste måde at skifte fra alm mail() til html mail()

Jeg driver http://www.genbrugsdele.dk og vil gerne ændre emails til html format.

Nogen der har en simpel løsning på dette?
fx en funktion send_html_email(){}

Jeg tænker på blot at erstatte mail() med den nye funktion send_html_email()

Så den nye funktion skal generere en standard html og putte de gamle beskeder ind i. Den skal derfor bla erstatte \n med <br>

Nogen der har sådan en funktion eller en let og god løsning

På forhånd tak :o)
Avatar billede learner Praktikant
11. februar 2010 - 16:57 #1
har lavet en funktion nu. ik testet den endnu.....

function send_html_mail($to, $subject, $message, $headers){    // multiple recipients
    global $charset_iso;
   
    /*if (is_array($to)){
        $receiver = implode(', ',$to);
    } else {
        $receiver = $to;
    }*/
    $receiver = $to;

    // html message
    $new_message = '
    <html>
    <head>
      <title>'.$subject.'</title>
    </head>
    <body>
      <p>'.nl2br($message).'</p>
    </body>
    </html>
    ';

    // To send HTML mail, the Content-type header must be set
    $new_headers  = 'MIME-Version: 1.0' . "\n";
    $new_headers .= 'Content-type: text/html; charset=' . $charset_iso . "\n";
    $new_headers .= $headers;

    // Mail it
    mail($receiver, $subject, $new_message, $new_headers);
}
Avatar billede learner Praktikant
11. februar 2010 - 17:37 #2
Denne virker for mig:

function send_html_mail($to, $subject, $message, $headers){
    global $charset_iso;
   
    $receiver = $to;

    $new_message = '
    <html>
    <head>
      <title>'.$subject.'</title>
    </head>
    <body>
      <p>'.nl2br($message, false).'</p>
    </body>
    </html>
    ';

    $new_headers  = 'MIME-Version: 1.0' . "\n";
    $new_headers .= 'Content-type: text/html; charset=' . $charset_iso . "\n";
    $new_headers .= $headers;

    mail($receiver, $subject, $new_message, $new_headers);
}
Avatar billede intenz Novice
11. februar 2010 - 20:44 #3
Den smarte måde er, at bruge en klasse hvor det hele er lavet for dig og meget mere.
http://sourceforge.net/projects/phpmailer/
Avatar billede learner Praktikant
13. februar 2010 - 14:19 #4
intenz jeg er igang med at lave phpmailer som du anbefaler

jeg er lidt i tvivl om man kan smide reklame såsom fx adsense ind i html koden. Ved du om man kan det?

Jeg ved ik om du kender openx, men detville være rigtig smart hvis jeg kunne styre reklamerne i emails med openx. hvis du ved om det ville virke?
Avatar billede learner Praktikant
13. februar 2010 - 14:55 #5
og jeg har et lille problem med replyto

jeg skriver:
$mail->SetFrom($from_us);
$mail->AddAddress($til_email);
$mail->AddReplyTo($reply_to);

Men når man trykker besvar på emailen, så svarer man både til reply_to og from_us - men jeg vil gerne have den til kun at svare til reply_to

Håber du måske ved det også
Avatar billede intenz Novice
13. februar 2010 - 19:48 #6
Jeg kan ikke svare på de ting du spørger om, jeg bruger den ikke normalt til den slags og kender ikke alle detaljerne i den.

Google kan sikkert hjælpe dig.
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