Ciao a tutti,
vorrei chiedervi: secondo voi come mai dopo aver eseguito una funzione richiamata in una classe :
private function SendUserMail($key){
//error_reporting(E_ALL);
error_reporting(E_STRICT);
date_default_timezone_set('Europe/Rome');
require_once('php/class.phpmailer.php');
//include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded
$mail = new PHPMailer();
$body = '
Benvenuto '.$this->nome.',
da questo momento hai 24 ore di tempo per attivare il tuo account (segui le istruzioni riportante in basso).
Per confermare la tua iscrizione al sito SonnenMacht.it e poter fare acquisti vantaggiosi,
clicca su questo link : http://'.$_SERVER['HTTP_HOST'].'/verify_user.php?key='.$key.'.</p>';
$body = eregi_replace("[\]",'',$body);
$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host = xxxxxx.it'; // SMTP server
//$mail->SMTPDebug = 2; // enables SMTP debug information (solo test)
// 1 = errors and messages
// 2 = messages only
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->Host = 'xxxxx.it'; // sets the SMTP server
$mail->Port = 26; // set the SMTP port for the GMAIL server
$mail->Username = 'xxxxx.it'; // SMTP account username
$mail->Password = 'xxxxxx';// SMTP account password
$mail->SetFrom('info@webdesign-vda.it', 'SonnenMacht.it');
$mail->AddReplyTo('info@webdesign-vda.it', 'SonnenMacht.it');
$mail->Subject = 'Conferma registrazione';
$mail->AltBody = 'Se visualizzi questo messaggio, significa che il tuo client di posta non è abilitato a leggere email in formato html. Ti consigliamo di utilizzarne un altro compatibile.'; // optional, comment out and test
$mail->MsgHTML($body);
$address = $this->email;
$mail->AddAddress($address, $this->nome);
//eventuali allegati $mail->AddAttachment("images/phpmailer.gif");
//eventuali allegati $mail->AddAttachment("images/phpmailer_mini.gif");
if(!$mail->Send()) {
echo 'C\'è stato un problema tecnico che non ha permesso la registrazione. La preghiamo di riprovare più tardi. Grazie. ' . $mail->ErrorInfo;
return false;
}else{
return true;
}
questa è la funzione che manda una mail (tra l'altro la manda correttamente) richiamata in una pagina che in alto (prima di tutto il resto del codice) ha un :
if (isset($_POST['mail'])){
$a = new SendMail(); //nome della classe
$a->SendUserMail();
}
Il problema è che la funzione viene eseguita e richiamata correttamente solo che tutto il resto del codice che viene dopo non viene eseguito. Come mai, secondo voi?