Originariamente inviato da mr.click
Codice PHP:
require("class.phpmailer.php");
//esegui la connessione con il database
$messaggio = new PHPmailer();
$messaggio->IsSMTP();
$messaggio->IsHTML(true);
$messaggio->Host="inserisci qui l'smtp"; //lascia le virgolette
$messaggio->From="inserisci l'email del tuo sito ex. [email]info@tuosito.com[/email]"; //lascia le virgolette
$messaggio->FromName="inserisci il nome che vuoi visualizzare agli utenti"; //lascia le virgolette
$messaggio->Subject = $_POST['oggetto'];
$messaggio->Body = '<html><head></head><body>';
$messaggio->Body .= $_POST['descrizione'];
$messaggio->Body .= '</body></html>';
$query = "SELECT * FROM newsletter";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) {
$messaggio->AddAddress($row['email']);
}
$messaggio->Send();
$messaggio->SmtpClose();
mysql_close($db);
ovviamente devi scaricare la classe phpmailer perchè questo codice funzioni
Ciao, facendo così ho comunque il problema del server smtp: ho delle limitazioni nel numero di e-mail inviabili.
Vorrei utilizzare questo script, ma vorrei avere la sicurezza che così impostato possa inviare 5.000 email senza bloccarsi
Codice PHP:
<?php
set_time_limit(1200); // in questo caso max 20 minuti
// Altrimenti lo script viene arrestato come fosse in loop.
include_once('invio_email/class.phpmailer.php');
// Estraggo le email dal file txt e le metto in un array.
$url_file_email = "email.txt";
$textfile = fopen($url_file_email, "r");
$dimensione_file = filesize($url_file_email);
echo "
Dimensione del file: $dimensione_file</p>";
while($rigafile = fgets($textfile, $dimensione_file)){
$array_email[] = $rigafile;
}
if(isset($array_email)){
$numero_email = count($array_email);
echo "
L'archivio contiene $numero_email email.</p>";
}else{
echo "
L'archivio contiene 0 email.</p>";
}
// Invio una email a me e una ai miei soci
$email_to = new PHPMailer();
$email_to->Body = "Ciao,\n";
$email_to->Body .= "Questa è il messaggio. \n";
$email_to->Body .= "Giusto qualche riga, così ... \n";
//$body = eregi_replace("[\]",'',$body);
//$email_to->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
$email_to->From = "mittente@mittente.it";
$email_to->FromName= "Mittente";
$email_to->Subject = "Questo è l'oggetto.";
$email_to->Sender = "mittente@mittente.it";
$email_to->replyTo = "mittente@mittente.it";
// Mando una email a tutti gli iscritti alla newsletter
for($i=0; $i<$numero_email; $i++){
$email_to->AddAddress($array_email[$i]);
}
// Stampo l'esito dell'invio delle mail
if (!$email_to->Send()) $message = "[b]Si sono verificati dei problemi[/b]".$email_to->ErrorInfo."
";
else $message="Mail inviate
";
echo $message;
$email_to->ClearAddresses();
$email_to->ClearBCCs();
$email_to->ClearAttachments();
?>