bene, non è che uno ha tra le mani un pò di codice per mandare mail agli utenti divisi in gruppi da 50 cadauno?![]()
bene, non è che uno ha tra le mani un pò di codice per mandare mail agli utenti divisi in gruppi da 50 cadauno?![]()
Uno script per oltre 2000 mail che nn vada in timeout nn esiste?
LOL
beh ... dipende!
- dalla configurazione del server
- se le 2000 mail sono costruite con le info del server o sono tutte uguali
- se puoi usare o meno le socket
e da tanti altri fattori![]()
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand
Riesumo questo post, anche io devo inviare un bel numero di mail (qualche centinaio per indenderci).
Il mio problema è che ogni mail sarà differente dall'altra in quanto all'interno passerò un codice diverso per ogni mail.
Cosa posso usare per questi tipo di invio?
Guybrush Threepwood
Per 2000 email diventa critico avere un SMTP performante e "vicino", oppure bisogna mettere in conto un interruzione del flusso di invio: in questo caso che accade? dovrò avere un log per sapere cosa è stato spedito e cosa invece no, per evitare invii di email doppie. Ci ho sbattuto la testa 2 anni fa, poi però quando ho superato i 5000 contatti ho dovuto ripiegare su un tool esterno a pagamento (nel mio caso MailUp, perchè è facilmente integrabile via batch ftp).
Se sei una onlus o associazione puoi avere gratis Graphicmail ed inviare fino a 5000 email.
il sito è www.graphicmail.co.ithttp://www.graphicmail.co.it
Ciao, mi permetto di riesumare il post perchè ho lo stesso problema. Io voglio fare quanto hai detto tu però voglio capire come fare partendo da questo script.Originariamente inviato da daniele_dll
phpmailer è una delle migliori classi per inviare email, ma ha qualche strano problema![]()
cmq ... a te basta qualcosa di moltooo + semplice ... anche il normale www.php.net/mail con l'header BCC impostato ... su ad esempio 50 mail a blocco
ovvero tiri fuori i dati ... e ogni 50 e-mail nel bcc le invii ... cosi non sovraccarichi nulla e ci sta abbastanza poco![]()
Il tutto non mi funziona però! Considera che le mail sono quasi 10.000.Codice PHP:
<?php
// Mi dichiaro le variabili per iniviare la newsletter
$testomail = $_POST['text'];
$oggetto = $_POST['subject'];
$testomail = str_replace("'", "´", $testomail);
$oggetto = str_replace("'", "´", $oggetto);
$totale=1;
// Inserisce in BCC tutti gli indirizzi mail raggruppati per 50
$c=floor($totale/50); // restituisce il numero per difetto!
$count=0; for($i=0;$i<=$c;$i++)
{
$z=0;
$s=$i*50;
$query = "SELECT * FROM prova WHERE abilitato = 0 LIMIT ".$s.",50";
$action = mysql_query($query);
if (mysql_num_rows($action) > 0) {
while ($row = mysql_fetch_array($action)) {
$count++;
$z++;
if ($z == 1) $bcc = $row['email'];
else $bcc .= ", " . $row['email'];
} }
// Intestazioni mail
$header = "Reply-To: [email]info@prova.it[/email]\n";
$header .= "From: Prova Prova <info@prova.it>\nBCC: ".$bcc."";
$header .= "XMailer: Suada.it Mailer System\n";
$header .= "MIME-Version: 1.0\n";
$header .= "Content-Type: text/html; charset=utf-8";
// Invio Mail
mail("noreply@prova.it", "$oggetto", "$testomail", "$header");
echo ('<script language="JavaScript" type="text/javascript">alert("La mail e\' stata inviata con successo a tutti gli indirizzi abilitati alla ricezione della newsletter!"); window.location="newsletter.php"</script>"');
}
}
?>
Grazie mille
Zeus_D,
non funziona in che senso?
Non fa nulla o hai errori?
Funziona ma il problema è che lui fa il ciclo per inviare la mail a soli 50 indirizzi e poi si ferma. In teoria dovrei far un altro ciclo per passare all'altro blocco di 50 indirizzi fino all'arrivo di tutti gli 8.000 indirizzi mail. Mi sapete aiutar?Originariamente inviato da Artechbrand
Zeus_D,
non funziona in che senso?
Non fa nulla o hai errori?
Presumendo che il valore di $totale non sia 1 ma sia un valore corretto,
devi spostare questa istruzione
mettendola alla fine dello script.Codice PHP:
echo ('<script language="JavaScript" type="text/javascript">alert("La mail e' stata inviata con successo a tutti gli indirizzi abilitati alla ricezione della newsletter!"); window.location="newsletter.php"</script>");