Buon pomeriggio.
Ho una newsletter, gli utenti si registrano e a seconda della nazionalità invio loro una mail con la traduzione.
Al momento soltanto italiano e inglese.
Vorrei ottenere invio di email distinte, dove se all'invio trovo un utente inglese invierò il testo tradotto, viceversa per un utente italiano.
Ho fatto 2mila prove da ieri, ma non ho ottenuto quello che speravo.
Questo è quello che faccio.
Codice PHP:
function test_Html() {
$arrNaz = array("it","en");//array delle nazioni che ho tradotto
//$_SESSION['nazione'] è un array che creo esterno alla pagina phpmailer
foreach($_SESSION['nazione'] as $key => $nazioni){
//se la nazione non è tra qualle delle traduzioni(es: fr), l'utente francese visualizzerà comunque inglese
if(!in_array($nazioni,$arrNaz)){
$nazioni = 'en';
}
$sqlMax = mysql_query("SELECT a.descrizione FROM ".$_SESSION['tb']." AS c LEFT JOIN tb_descrizione_iten AS a ON a.id_rs = c.id AND a.id_tab = c.id_tab WHERE c.id = ".$_SESSION['id']." AND a.lingua='".$nazioni."'");
$this->Mail->Body = utf8_decode($rows['descrizione']);
}
$this->Mail->IsHTML(true);
//$_SESSION['Email'] è un array che creo esterno alla pagina phpmailer
foreach($_SESSION['Email'] as $key => $email) {
$this->Mail->clearAllRecipients();
$this->Mail->AddAddress($email,"");
if(!$this->Mail->Send()){
echo "ERRORE invio indirizzo: ".$email."<br/>";
return false;
}
else{
if(chkEmail($email)) {
//controllo su conformità email, se @ presente, se .com o .it ci sono
echo "Mail inviata a: ".$email."<br/>";
//return true;
}
else{
echo "Indirizzo email errato, mail non inviata: ".$email."<br/>";
//return false;
}
}
}
}
Grazie dell'aiuto.