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:
Codice PHP:
<?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");
?>
e questo credo sia la porzione di codice da modificare:
Codice PHP:
$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);