Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    100

    problema con invio multiplo email con phpmailer

    ciao a tutti, sto cercando di modificare lo script di phpmailer per inviare una sorta di newsletter alle mail che ho in un "array".. mi da un msg di errore, ma me li spedisce lo stesso però facendomi vedere nel campo "a" tutti gli indirizzi, inoltre in un indirizzo mi arriva due volte lo stesso messaggio... posto qui il codice cosi spero possiate aiutarmi:

    Codice PHP:
    <?php
    include_once('../class.phpmailer.php');

    $array_email = array("email1""email2");
        for (
    $i 0$i <= count($array_email); $i++) {
            
    $mail             = new PHPMailer();
            
            
    $mail->IsSMTP(); // telling the class to use SMTP
            
    $mail->Host       "out.aliceposta.it"// SMTP server
            
            
    $mail->From       "Prova";
            
    $mail->FromName   "Nome";
            
            
    $destinatario $array_email[$i];
            
            
    $mail->AddAddress($destinatario);
            
            
    $body             "Prova invio";

            
    $mail->Subject    "test invio bcc";
            
            
    $mail->AltBody    "To view the message, please use an HTML compatible email viewer!";
            
            
    $mail->MsgHTML($body);

                if(!
    $mail->Send()) {
                  echo 
    "";
                } 
                else {
                  echo 
    "";
            }

        }

    ?>
    nn capisco dove sbaglio

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    AddBcc fa in modo che vengano mandati in Blinded Carbon Copy (copia carbone nascosta).

    Per quanto riguarda l'errore non l'hai postato, ma presumo sia il solito errore di fallito caricamento del file di lingua.

    Prova a cercare in giro sul forum e dovresti trovare la soluzione.

    Ti consiglio inoltre di cercare la pillola su phpmailer, è ben fatta e piena di spunti.

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    100
    l'errore che mi da riguarda al fatto che gli indirizzi non sono validi...

    come lo devo modificare quindi questo codice?

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    sbagli l'approccio: guarda il primo esempio qui

    http://phpmailer.codeworxtech.com/index.php?pg=examples

    usa AddAddress oppure l'equivalente in Ccn, e poi manda tutto in una sola volta se non devi differenziare i contenuti come nell'esempio (vuol dire che il send lo tiri fuori dal cliclo)
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    ma gli indirizzi sono validi?

    Non stai provando con "email1" e "email2" vero?

    Nel caso avessi indirizzi sintatticamente errati dovresti fare un controllo con un'espressione regolare prima di aggiungerli all'elenco di spedizione.

    ciao

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    100
    ..................................

    l'ho gia letto quel link ma non mi serve a niente

    io ho una lista di indirizzi separati da un carattere, non li ho salvati dentro a un db riga per riga


    $mail->AddBCC(indirizzo1, "");

    nn mi funziona, xchè se scrivo gli indirizzi dentro al ADDBCC separati da virgola non va, e nemmeno se uso il ;

    e poi voglio che al destinatario compaia il suo indirizzo email quando spedisco,non la mail scritta su AddAdress...

    quindi nn so...

  7. #7
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    leggere un po' di doc no?

    Il metodo che chiami accetta un indirizzo alla volta. Quindi lo devi chiamare N volte.

    Se vuoi che compaia l'indirizzo allora devi usare ADD address, e fare N spedizioni.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    100
    dunque ho risolto (spero) il problema sistemandolo cosi:

    Codice PHP:
    <?php
    include_once('../class.phpmailer.php');

    $mail = new PHPMailer();
            
            
    $mail->IsSMTP(); // telling the class to use SMTP
            
    $mail->Host       "out.aliceposta.it"// SMTP server
            
            
    $mail->From       "Prova";
            
    $mail->FromName   "Nome";
            
                
    $array_email = array("email1""email2");
                    for (
    $i 0$i <= count($array_email); $i++) {
                        
    $destinatario $array_email[$i];
                        
    $body "Prova invio";
                        
                        
    $mail->MsgHTML($body);
                        
    $mail->AltBody    "To view the message, please use an HTML compatible email viewer!";
                        
    $mail->AddAddress($destinatario);
                        
    $mail->Subject    "Test";
                        
                        if(!
    $mail->Send()) {
                          echo 
    "errore";
                        } 
                        else {
                          echo 
    "inviato";
                        }
                        
                        
    $mail->ClearAddresses();  
                     }

    ?>
    le mail mi sono arrivate a tutte e due gli indirizzi e nel campo "to" ho visto l'inidirizzo appunto della mail corretta...

    adesso arrivano le complicazioni...

    il fatto è ke non ho 2 indirizzi.. ma parecchi (newsletter)... quindi kiedo, c'è modo di dargli un intervallo di tempo tra un invio e l'altro?

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.