Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    PhpMailer problemi invio

    Buon giorno a tutti.
    Codice PHP:
    function test_Html() {
    $recipients = array("mario@azienda.it"=> "mario","antonio@azienda.it"=> "antonio","giuseppe@azienda.it"=> "giuseppe");
    foreach(
    $recipients as $email => $name){$this->Mail->AddAddress($email);
    if(!
    $this->Mail->Send()){
    echo 
    "ERROR";
    }else{echo 
    "Mail sent: ".$email."<br/>";}}

    Non capisco perché, il primo account mario, riceve 3 mail distinte in questo modo:
    la prima ed unica mail che dovrebbe ricevere "mario" ha giustamente il solo indirizzo mario @ azienda.it,
    però, ne riceve altre due con questi indirizzi:
    la seconda ha mario @ azienda.it ;antonio @ azienda.it
    la terza hamario @ azienda.it ; antonio @ azienda.it ;giuseppe @ azienda.it


    Poi, antonio riceve altre due mail.
    La prima con il suo indirizzo ma anche una seconda con il suo indirizzo più quello di giuseppe @ azienda.it

    L'unico che riceve una sola mail, con un unico indirizzo è giuseppe @ azienda.it

    Domanda: come faccio a risolvere?
    Grazie mille.
    Ultima modifica di ANTAGONIA; 22-11-2017 a 12:00

  2. #2
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Ops...sbagliato thread

    Cmq, se usi PHPMailer, ogni volta aggiungi una mail. Anche se fai send, non vengono cancellati i precedenti indirizzi aggiunti. Se vuoi email distinte, dopo la send, devi fare un ClearAllRecipients (almeno mi pare fosse questa la funzione)
    Ultima modifica di boots; 22-11-2017 a 12:17

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    783
    Fai il send() dentro al foreach, quindi per ogni ciclo ti invia una mail.

    Dentro al foreach cicli gli indirizzi e li passi ad AddAddress(), dopo fuori dal foreach invii la mail con Send()

  4. #4
    Quote Originariamente inviata da M4V1 Visualizza il messaggio
    Fai il send() dentro al foreach, quindi per ogni ciclo ti invia una mail.

    Dentro al foreach cicli gli indirizzi e li passi ad AddAddress(), dopo fuori dal foreach invii la mail con Send()
    Perdonami, ma puoi farmi vedere per favore?

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    783
    codice:
    function test_Html() {
        $recipients = array("mario@azienda.it"=> "mario","antonio@azienda.it"=> "antonio","giuseppe@azienda.it"=> "giuseppe");
        foreach($recipients as $email => $name){
            $this->Mail->AddAddress($email);
        }
        if(!$this->Mail->Send()){
            echo "ERROR";
        }else{echo "Mail sent<br/>";}
    }
    Provate a scrivere il codice da soli, altrimenti non imparerete mai.

  6. #6
    facendo cosi:
    Codice PHP:
    foreach($recipients as $email => $name){
    $this->Mail->AddAddress($email,$name);
    }
    $this->Mail->Send(); 
    Ne invia una soltanto a tutti e 3 gli account di posta, ma, ogni account riceve la mail con tutti e tre gli indirizzi visibili.
    Esempio: mario@azienda.it;giuseppe@azienda.it...o@azien da.it

  7. #7
    Quote Originariamente inviata da M4V1 Visualizza il messaggio
    codice:
    function test_Html() {
        $recipients = array("mario@azienda.it"=> "mario","antonio@azienda.it"=> "antonio","giuseppe@azienda.it"=> "giuseppe");
        foreach($recipients as $email => $name){
            $this->Mail->AddAddress($email);
        }
        if(!$this->Mail->Send()){
            echo "ERROR";
        }else{echo "Mail sent<br/>";}
    }
    Provate a scrivere il codice da soli, altrimenti non imparerete mai.
    Questo che tu hai postato, l'avevo fatto anche io, ma non mi funzionava, ed infatti non funziona.
    Invia una sola mail per tutti e 3 gli account, ma ogni account visualizza tutti e 3 gli indirizzi.

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Metti il primo come recipient e gli altri come bcc
    $this->Mail->addBcc(...);

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    783
    Spiega cosa vuoi ottenere come risultato finale.
    Il mio codice funziona, solo non so cosa ti serve che faccia.

  10. #10
    Scusate, mi pareva di averlo spiegato.
    Vorrei che invia una mail alla volta con il solo indirizzo del ricevente.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.