• User Newbie

    inviare email tramite newsletter in formato HTML?

    salve a tutti!

    ho trovato uno script per la creazione di una newsletter che tramite pannello di controllo invia un email a tutti gli iscritti. ma mi sono accorto dopo una prova che lo script invia le email in formato solo testo e non in html! come devo cambiare il codice per fare in modo che le email inviate siano in formato HTML ?

    questo è il codice del file che si occupa dell'invio email:

    [HTML]
    <?php

    include("header.php");
    include("config.inc.php");
    $file = $_SERVER['PHP_SELF'];

    echo"
    <center><table border=1 bgcolor=$sfondo1 cellspacing=0 cellpadding=0 bordercolor=$bordo1 width=600>
    <td>
    <table border=1 cellspacing=0 cellpadding=2 bgcolor=$sfondo2 bordercolor=$bordo2 width=600>
    <td width=550><font face=verdana size=2>Pannello amministrazione</td>
    </table></td></table>";

    function login() {
    include("config.inc.php");
    global $file;

    echo"
    <p><table border=1 bgcolor=$sfondo1 cellspacing=0 cellpadding=2 bordercolor=$bordo1 width=150>
    <td><form action=$file method=post>
    <table border=0 cellspacing=0 cellpadding=0 bgcolor=$sfondo2 bordercolor=$bordo2 width=150>
    <td><font size=1 face=verdana>User:</td>
    <td><input type=text name=user class=input size=15></td>
    <tr>
    <td><font size=1 face=verdana>Pasword:<br> </td>
    <td><input type=password name=pwd class=input size=15><br><input type=submit name=submit1 class=bottone value=Login></td>
    </table></td></table></form>";

    }

    if(isset($_POST['submit1'])) { 
    
        $db = mysql_connect($db_host, $db_user, $db_password) or die('Errore connessione database'); 
    
        mysql_select_db($db_name, $db) or die('Errore selezione database'); 
    
    if(($_POST['user']) && ($_POST['pwd'])) { 
    
        $query = "SELECT admin_ID FROM admin_newsletter WHERE user = '$_POST[user]' AND password = '$_POST[pwd]'"; 
        $risultato = mysql_query($query); 
        $num = mysql_num_rows($risultato); 
    
            if($num>0) { 
                Header("Location: $file?funzione=amministrazione"); 
    
                } else { 
                    echo"<script>alert('User o password sbagliati.');</script>"; 
    

    }
    }
    }

    function amministrazione() {

    include("config.inc.php");
    global $file;

    $db = mysql_connect($db_host, $db_user, $db_password) or die('Errore connessione database');
    mysql_select_db($db_name, $db) or die('Errore selezione database');

    $query = "SELECT mail FROM membri_newsletter ORDER BY membro_ID DESC";
    $ris = mysql_query($query);

    echo"<p>
    <form name=andrea>
    <table border=1 bgcolor=$sfondo1 cellspacing=0 cellpadding=0 bordercolor=$bordo1 width=600>
    <td>
    <table border=1 cellspacing=0 cellpadding=2 bgcolor=$sfondo2 bordercolor=$bordo2 width=600>
    <td align=middle><a href=admin.php?funzione=cambia_pwd><font size=1 face=verdana>Cambia dati d'accesso</a></td>
    <td align=middle><a href=admin.php?funzione=crea_newsletter><font size=1 face=verdana>Crea una newsletter</a></td>
    <td align=middle><font size=1 face=verdana>Invia a: <select name=lista onChange = "self.location = document.andrea.lista[document.andrea.lista.selectedIndex].value;">\n

    <option selected> ------ </option>"; while($array = mysql_fetch_array($ris)) {
    echo"<option value=admin.php?funzione=crea_newsletter&indirizzo=$array[mail]>$array[mail]</option>";
    }
    echo"</select></td></table></td></table></form>";

    }

    function cambia_pwd() {

    include("config.inc.php");
    global $file;

    amministrazione();

    echo"<p><font size=2 face=verdana>Inserisci il nuovo username e la nuova password.</font><p><form action=$file method=post>
    <table border=1 bgcolor=$sfondo1 cellspacing=0 cellpadding=2 bordercolor=$bordo1 width=150>
    <td>
    <table border=0 cellspacing=0 cellpadding=1 bgcolor=$sfondo2 bordercolor=$bordo2 width=150>
    <td><font size=1 face=verdana>User:</td>
    <td><input type=text name=user2 class=input size=15></td>
    <tr>
    <td><font size=1 face=verdana>Pasword:<br> </td>
    <td><input type=password name=pwd2 class=input size=15><br><input type=submit name=submit2 class=bottone value=Cambia></td>
    </table></td></table></form>";
    }

        if(isset($_POST['submit2'])) { 
            $db = mysql_connect($db_host, $db_user, $db_password) or die('Errore connessione database'); 
            mysql_select_db($db_name, $db) or die('Errore selezione database'); 
    
            $query = "UPDATE admin_newsletter SET user = '$_POST[user2]', password = '$_POST[pwd2]' WHERE admin_ID = '1'"; 
            $ris = mysql_query($query); 
    
                if($ris) { 
            echo"<font size=2 face=verdana><br>I dati sono stati aggiornati in: User: <strong>$_POST[user2]</strong> - Password: <strong>$_POST[pwd2]</strong> <br>Rifai il login.</font>"; 
              } else { 
            echo"Errore durante il cambiamento dei dati!"; 
                } 
            } 
    

    function crea_newsletter() {

    include("config.inc.php");
    global $file;

    amministrazione();

    $query = "SELECT * FROM indirizzi";
    $risultato = mysql_query($query);

    if($_GET['indirizzo'] != "") {

    $query3 = "SELECT indirizzi_ID FROM indirizzi WHERE indirizzi = '$_GET[indirizzo]'";
    $risultato3 = mysql_query($query3);
    $num = mysql_num_rows($risultato3);

    if($num != 0) { 
    

    echo"<script>alert('L'indirizzo è già stato selezionato!')</script>";

    } else { 
    

    $query2 = "INSERT INTO indirizzi(indirizzi_ID, indirizzi) VALUES(null, '$_GET[indirizzo]')";
    $risultato2 = mysql_query($query2);
    Header("Location: $file?funzione=crea_newsletter");
    }
    }

    if($_GET['cancella'] != "") { 
    

    $query = "DELETE FROM indirizzi WHERE indirizzi = '$_GET[cancella]'";
    $risultato = mysql_query($query);
    Header("Location: $file?funzione=crea_newsletter");
    }

    echo"
    <center><p><table border=1 bgcolor=$sfondo1 cellspacing=0 cellpadding=2 bordercolor=$bordo1 width=600>
    <td><form action=$file?funzione=crea_newsletter method=post>
    <table border=0 cellspacing=0 cellpadding=1 bgcolor=$sfondo2 bordercolor=$bordo2 width=600>
    <td><font size=1 face=verdana>Oggetto:</td>
    <td><input type=text name=oggetto class=input size=99></td>
    <tr>
    <td valign=top><font size=1 face=verdana>Messaggio:<br> </td>
    <td><textarea name=messaggio class=input cols=99 rows=20></textarea><br><input type=submit name=submit3 class=bottone value=Invia></td>
    <tr>
    <td> </td>
    <td><font size=1 face=verdana><strong>Opzioni per l'invio</strong><br>
    <input type=checkbox name=tutti> Invia a tutti.<br>
         Invia a: <strong>"; while($array = mysql_fetch_array($risultato)) { echo"$array[1] <a href="admin.php?funzione=crea_newsletter&cancella=$array[1]"><img src="png.findicons.com/files/icons/1156/fugue/16/mail_minus.png" align="absmiddle" title="togli"></a> |  "; } echo"</strong><br><br> Se vuoi inviare la newsletter a tutti gli iscritti
    seleziona l'opzione "Invia a tutti", altrimenti tramite il menu a tendina in alto scegli i destinatari e lascia deselezionata l'opzione "Invia a tutti".</td>
    </table></td></table></form>";

    if($_POST['submit3'] && $_POST['messaggio'] && $_POST['oggetto']) {

    if($_POST['tutti']) { 
    

    $query = "SELECT * FROM membri_newsletter";
    $risultato = mysql_query($query);

    $query2 = "SELECT membro_ID FROM membri_newsletter";
    $risultato2 = mysql_query($query2);
    $num = mysql_num_rows($risultato2);

    $messaggio_formattato = $_POST['messaggio'];

    $mess = <<<EOMESS
    $messaggio_formattato
    EOMESS;

    for($i=0;$i<$num;$i++) {

    $mail = mysql_result($risultato, $i, 'mail');

    $invio = mail("$mail", "$_POST[oggetto]", "$mess", "From: $mail_admin");

    }

    if($invio) {
    echo"<script>alert('Newsletter inviata con successo');</script>";

    }
    } else {

    $query = "SELECT * FROM indirizzi";
    $risultato = mysql_query($query);

    $query2 = "SELECT indirizzi_ID FROM indirizzi";
    $risultato2 = mysql_query($query2);
    $num = mysql_num_rows($risultato2);

    $messaggio_formattato = $_POST['messaggio'];

    $mess = <<<EOMESS
    $messaggio_formattato
    EOMESS;

    for($i=0;$i<$num;$i++) {

    $mail = mysql_result($risultato, $i, 'indirizzi');
    $invio = mail("$mail", "$_POST[oggetto]", "$mess", "From: $mail_admin");

    }

    if($invio) {
    echo"<script>alert('Newsletter inviata con successo');</script>";
    $query = "TRUNCATE TABLE indirizzi";
    $risultato = mysql_query($query);
    }

    }
    }

    }

    switch($_GET['funzione']) {

    case amministrazione: 
        amministrazione(); 
    break; 
    
    case cambia_pwd: 
        cambia_pwd(); 
    break; 
    
    case crea_newsletter: 
        crea_newsletter(); 
    break; 
    
    default: 
        login(); 
    

    }

    include("footer.html");
    ?>
    [/HTML]

    e questo credo sia la porzione di codice da modificare:

    [HTML]
    $messaggio_formattato = $_POST['messaggio'];

    $mess = <<<EOMESS
    $messaggio_formattato
    EOMESS;

    for($i=0;$i<$num;$i++) {

    $mail = mysql_result($risultato, $i, 'mail');

    $invio = mail("$mail", "$_POST[oggetto]", "$mess", "From: $mail_admin");

    }

    if($invio) {
    echo"<script>alert('Newsletter inviata con successo');</script>";

    }
    } else {

    $query = "SELECT * FROM indirizzi";
    $risultato = mysql_query($query);

    $query2 = "SELECT indirizzi_ID FROM indirizzi";
    $risultato2 = mysql_query($query2);
    $num = mysql_num_rows($risultato2);
    [/HTML]