Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Come inviate la vostra newsletter?

    Ma si può sapere come fate a inviare una e-mail agli iscritti alla vostra newsletter?
    Ho buttato via una giornata, ecco come ho provato senza risultato:
    • Usare l'smtp di un provider: si ha un limite nel numero di e-mail inviabili;
    • Ho installato un server smtp sul mio computer e l'ho integrato con più programmi per l'invio di e-mail: non tutte giungono a destinazione.
    • Ho usato programmi per il "Bulk email send", ma torniamo al problema che devono collegarsi a un smtp e quindi il numero di email inviabili è limitato.
    • Ho provato a usare la funzione mail() nel mio host. Alcune e-mail non arrivano.


    Ho concluso che il modo migliore è utilizzare la classe phpmailer nel mio host. Mi sapete dire come posso impostare lo script per inviare circa 5.000 email? Devo impostare qualche delay o qualche parametro in particolare?
    E' impressionante quanto tempo ho buttato via oggi

    Ma voi come inviate le e-mail agli iscritti alla vostra newsletter?

  2. #2
    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

  3. #3
    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();



    ?>

  4. #4
    Ti conviene non inviare le 5000 e-mail tutte insieme, ma inviarle in blocchi più piccoli e diluite nel tempo.

    Molto spesso le e-mail non arrivano perchè è il server del destinatario ad applicare blocchi quando riceve troppe e-mail da un ip.

    (es: se invii 600 mail ad indirizzi .dominio.it il server STMP di dominio.it può bloccare la connessione con l'ip del tuo server dopo N e-mail e di conseguenza le rimanenti e-mail non vengono consegnate.)


    Inoltre, a seconda del contenuto dell'e-mail (o degli header sballati) alcuni mail server possono inserirla direttamente nella cartella SPAM del destinatario.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.