certamente mi sfugge qualcosa di semplice, tuttavia non riesco a venirne a capo!
Ho una piccola funzione all'interno di una classe:
Codice PHP:
public function send_mail ($nome, $email, $oggetto, $testo) {
$testo = str_replace("\\","",$testo);
$error=0;
$messaggio_risposta="";
$mittente = "redazione@cantodellasfinge.net";
if ($nome=="") { $error=1; }
if ($email=="") { $error=1; }
if ($email!="" && !eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$",$email)) { $error=1; }
if ($error==1) { return false;
} else {
$headers.= "MIME-version: 1.0\n";
$headers.= "Content-type: text/html; charset= iso-8859-1\n";
$headers.= "Content-Transfer-Encoding: 7bit\n";
// $headers.= "Reply-To: " . $mittente . "\r\n";
$headers.= "To: $nome <" . $email . ">\n";
$headers.= "From: Canto della Sfinge <redazione@cantodellasfinge.net>\n";
$headers.= "X-Mailer: PHP/" . phpversion();
$messaggio_risposta.=$testo;
if ( ! php_uname("s") == "Linux") {
$imposta = ini_set("sendmail_from", "redazione@cantodellasfinge.net");
if (!$imposta) { die ("Non posso impostare sendmail_from!
\n"); }
}
mail($email, $oggetto, $messaggio_risposta, $headers); // , "-f$mittente");
}
return true;
}
A meno che l'età mi abbia del tutto demolito, questa routine viene chiamata una sola volta attraverso un unico passaggio (non è difficile controllarlo!).
Codice PHP:
if ($this->send_mail ($nick, $email, $oggetto, $text)) {
return true; }
else die ("Send mail errato");
Il problema è che (facendo delle prove) ricevo due volte la stessa mail!
Qualcuno ha idea del motivo di tutto questo?
Grazie.