Ciao a tutti.
Sono un novizio del php e mi chiedevo se potreste aiutarmi in un problema che non riesco a risolvere:
1)Devo prelevare degl'indirizzi mail da un db Mysql.
2)Selezionarne alcuni (o tutti).
3)Inviare le mail ( eventualmente con allegati ) ai vari destinatari in modo che ognuno non visualizzi l'indirizzo dell'altro.
Le fasi 1 e 2 sono risolte.
Per la fase 3 ho creato un file email.php che raccoglie i dati già estratti e selezionati da un precedente file (che funziona correttamente)
il file a cui punta nell'action è invia_mail.php
Purtroppo le mail non vengono inviate.
Qualche idea?
Grazie mille e cordiali saluti a tutti.
Massimo
Sono un novizio del php e mi chiedevo se potreste aiutarmi in un problema che non riesco a risolvere:
1)Devo prelevare degl'indirizzi mail da un db Mysql.
2)Selezionarne alcuni (o tutti).
3)Inviare le mail ( eventualmente con allegati ) ai vari destinatari in modo che ognuno non visualizzi l'indirizzo dell'altro.
Le fasi 1 e 2 sono risolte.
Per la fase 3 ho creato un file email.php che raccoglie i dati già estratti e selezionati da un precedente file (che funziona correttamente)
PHP:
<?
include("connect.php");
$result = mysql_query("select * from dati_utenti");
$row = mysql_fetch_array($result);
echo "<body bgcolor=\"#FFFFCC\">";
echo "<form action=\"invia_mail.php\" enctype=\"multipart/form-data\" method=\"POST\">";
$email = $_POST['emailcheckbox'];
for($i=0;$i < sizeOf($email); $i++){
echo "<input type=\"hidden\" name=\"destinatario\" value=\"$email[$i]\">";
}
echo "<br/><font size=\"1\" face=\"Verdana\">Oggetto:<br>";
echo "<font size=\"1\" face=\"Verdana\"><input type=\"text\" name=\"oggetto\" size=\"25\"><br><br/>";
echo "<font size=\"1\" face=\"Verdana\">Testo:<br>";
echo "<textarea name=\"testo\" rows=\"10\" cols=\"40\"></textarea><br><br/>";
echo "<font size=\"1\" face=\"Verdana\">Allegato:"."<br><br/>";
echo "<input type=\"file\" name=\"attach\" size=\"25\"><br><br>";
echo "<td height=\"25\" valign=\"bottom\" colspan=\"2\" align=\"center\"><input type=\"submit\" value=\"Spedisci\"></td>";
echo "</form>";
?><br>
<?
include("pppc.php");
?>
</body>
</html>
il file a cui punta nell'action è invia_mail.php
PHP:
<?PHP
/*error_reporting(0);*/
$destinatario = $_POST["destinatario[]"];
for($i=0;$i < sizeOf($destinatario); $i++){
$destinatari= $destinatario[$i];
$oggetto = stripslashes($_POST["oggetto"]);
$testo = stripslashes($_POST["testo"]);
// specifichiamo le propriet dell'allegato
$attach = $_FILES["attach"]["tmp_name"];
$nome_allegato = $_FILES["attach"]["name"];
$tipo_di_allegato = $_FILES["attach"]["type"];
$grandezza_allegato = $_FILES["attach"]["size"];
// impostiamo il delimitatore
$boundary = md5(uniqid(microtime()));
// apriamo il documento in allegato, leggiamolo, stabiliamone la codifica e chiudiamolo
$file = fopen($attach, "r");
$leggi = fread($file, $grandezza_allegato);
$codifica = chunk_split(base64_encode($leggi));
fclose($file);
// inseraimo le intestazioni che ci interessano
$intestazione .= "MIME-version: 1.0\n";
$intestazione .= "Content-type: multipart/mixed; boundary=\"$delimitatore\"\n";
$intestazione .= "Content-transfer-encoding: 7BIT\n";
$intestazione .= "X-attachments: $nome_allegato\n";
// stabiliamo il formato della mail
$formato = "--$delimitatore\n";
$formato .= "Content-Type: text/plain; charset=us-ascii\n";
$formato .= "Content-Transfer-Encoding: 7bit\n\n";
$formato .= "$testo\n\n";
$formato .= "--$delimitatore\n";
$formato .= "Content-type: $tipo_di_allegato; name=\"$nome_allegato\"\n";
$formato .= "Content-Transfer-Encoding: BASE64\n";
$formato .= "Content-disposition: attachment; filename=\"$attach_name\"\n\n";
$formato .= "$codifica\n";
$formato .= "--$delimitatore--\n";
// utilizziamo la funzione mail per inviare e if per ottenere un messaggio di conferma
if(mail($destinatario[$i]. ", ", $oggetto, $formato, $intestazione))
{
echo "Mail inviata correttamente!";
}
}
?>
Purtroppo le mail non vengono inviate.
Qualche idea?
Grazie mille e cordiali saluti a tutti.
Massimo