2013-07-15 13 views
7

Sto utilizzando Codeigniter 2 per il mio sito web. Quando invii email a più utenti, su client (gmail, hotmail, ..) mostra tutti gli indirizzi sui dettagli, come posso nascondere gli indirizzi per mostrare solo l'indirizzo del destinatario.Invio di più e-mail con codeigniter

Grazie

risposta

17

Usa bcc per inviare messaggi di posta elettronica in batch in questo modo:

function batch_email($recipients, $subject, $message) 
{ 
    $this->email->clear(TRUE); 
    $this->email->from('[email protected]', 'Display Name'); 
    $this->email->to('[email protected]'); 
    $this->email->bcc($recipients); 
    $this->email->subject($subject); 
    $this->email->message($message); 

    $this->email->send(); 

    return TRUE; 

} 

$ destinatari dovrebbero essere un elenco delimitato da virgole o una matrice

Ciò significa che si otterrà una copia della e-mail, ma tutti gli altri destinatari saranno BCC'ed, in modo da non vedere l'un l'altro gli indirizzi

+11

Non rispondo sempre alle domande, ma quando lo faccio, l'utente che l'ha postata non torna a dirmi se mi ha aiutato :-( – whispersan

+0

grazie @whisperson Sir! .. questo mi fa risparmiare un po 'di tempo ... e funziona come il fascino! –

+0

Vorrei poter trovare un buon tutorial completo su codeigniter bcc. Non riesco proprio a far funzionare il bcc, e ho provato liste e array delimitati da virgole. – TARKUS

6

penso che si sta assegnando tutti i destinatari in un unico metodo a, come

$this->email->to('[email protected], [email protected], [email protected]'); 

Ciò mail a tutti i destinatari in una volta. Per impedire che mostra tutti i destinatari, posta separatamente per ogni utente, come segue,

foreach ($list as $name => $address) 
{ 
    $this->email->clear(); 
    $this->email->to($address); 
    $this->email->from('[email protected]'); 
    $this->email->subject('Here is your info '.$name); 
    $this->email->message('Hi '.$name.' Here is the info you requested.'); 
    $this->email->send(); 
} 

Qui $list contiene array di nome del destinatario e-mail ID. Assicurati di usare clear() all'inizio di ogni iterazione.

+0

Sembra che non si dovrebbe avere per inviare e-mail separate per ciascun destinatario, se questo è ciò che la BCC dovrebbe fare. – TARKUS

Problemi correlati