Il problema era lì. Ho corretto il controllo (poi l'ho rimosso)
Il fatto è che adesso mi da un fatal error
Fatal error: Uncaught exception 'phpmailerException' with message 'Message body empty' in /percorso/class.phpmailer.php:615 Stack trace: #0 /percorso/class.phpmailer.php(587): PHPMailer->PreSend() #1 /percorso/invio.php(72): PHPMailer->Send() #2 {main} thrown in /percorso/class.phpmailer.php on line 615
Il codice è questo:
Il fatto è che adesso mi da un fatal error
Fatal error: Uncaught exception 'phpmailerException' with message 'Message body empty' in /percorso/class.phpmailer.php:615 Stack trace: #0 /percorso/class.phpmailer.php(587): PHPMailer->PreSend() #1 /percorso/invio.php(72): PHPMailer->Send() #2 {main} thrown in /percorso/class.phpmailer.php on line 615
Il codice è questo:
PHP:
if ($_POST['Submit'] == 'Invia')
{
//registro l'ip di chi invia la mail su un file php
$file = "logip.php";
$open = fopen($file, "a+");
$testo = 'Ip mittente: '.$_SERVER['REMOTE_ADDR']. ' - Destinatario: '.$_POST['emaildichiriceve']. ' - Ora accesso: ' . date("G:i:s Y/m/d") . "<br />\r\n";
$write = fwrite ($open, $testo);
fclose($open);
// Recupero il valore dei campi del form
$fromname = $_POST['nomedichiinvia'];
$fromemail = $_POST['maildichiinvia'];
$destinatario = "mai@mail.io";
$oggetto = $_POST['oggetto'];
$messaggio = $_POST['messaggio'];
$verif_box = $_POST["verif_box"];
require_once 'class.phpmailer.php';
$mail = new PHPMailer(true); //defaults to using php "mail()"; the true param means it will throw exceptions on errors, which we need to catch
//settiamo su true il metodo che indica alla classe
//il formato HTML
$mail->IsHTML(true);
// ...controlla tutte le variabili che non devono essere vuote per inviare la mail, e poi settale nulle se inviata o fai un redirect
//vista la situazione non credo ti serva un try catch per gestire le eccezioni
$mail->AddReplyTo($destinatario, 'Tuo sito');
$mail->AddAddress($fromemail, $fromname);
$mail->SetFrom($destinatario, 'Tuo sito');
$mail->Subject = $oggetto;
$mail->AltBody = 'Usa un editor mail compatibile con l\'html per vedere il messaggio!'; // optional - MsgHTML will create an alternate automatically
$mail->MsgHTML = $messaggio;
//$mail->AddAttachment($_FILES['input']['tmp_name'],$_FILES['input']['name']); //Ti serve uno o piu allegati?
// controllo se il codice di verifica è corretto
if(md5($verif_box).'a4xn' == $_COOKIE['tntcon']){
// se il codice di verifica è corretto invio il messaggio
$mail->Send();
// cancello il cookie in modo che non può essere inviato nuovamente aggiornando la pagina
setcookie('tntcon','');
} else if(isset($message) and $message!=""){
// se il codice di verifica non è corretto o provano ad accedere direttamente alla pagina php mostro l'errore.
} else {
header('Location: ops.php');
exit;
}
} //fine dell'invio
Ultima modifica: