Sto cercando di utilizzare PHPMailer per un piccolo progetto, ma sono un po 'confuso riguardo alla gestione degli errori con questo software. Sperando che qualcuno abbia esperienza con esso. Quando ho impostato una e-mail e io uso:Gestione degli errori con PHPMailer
$result = $mail->Send();
if(!$result) {
// There was an error
// Do some error handling things here
} else {
echo "Email successful";
}
Che funziona bene, più o meno. Il problema è quando c'è un errore, PHPMailer sembra anche echeggiare l'errore, quindi se c'è un problema, invia semplicemente le informazioni direttamente al browser, in pratica rompendo qualsiasi gestione degli errori che sto cercando di fare.
È ? c'è un modo per mettere a tacere questi messaggi la sua non è gettando un'eccezione, il suo solo stampando l'errore, che nel mio caso di test è:
invalid address: @[email protected] You must provide at least one recipient email address.
che deve essere così un errore, ma dovrebbe essere residente in $ posta -> ErrorInfo; non viene echeggiato dal software
Avevo già provato a prenderlo con le eccezioni, la parte che mi mancava era 'new PHPMailer (true)' che abilita effettivamente le eccezioni. Grazie per l'aiuto. – Stomped
per me .. queste righe hanno errori .. $ mail-> MsgHTML (file_get_contents ('contents.html')); $ mail-> AddAttachment ('images/phpmailer.gif'); // allegato $ mail-> AddAttachment ('images/phpmailer_mini.gif'); // allegato come posso risolverlo .. grazie .. – pcs
Questo non va bene. Anche con la gestione delle eccezioni, dovresti comunque inserire la conferma "Messaggio inviato OK \ n" "all'interno di un condizionale, altrimenti ciò porterà a conferme fuorvianti che dicono che va bene quando qualcosa è andato storto. Quindi usa e.g .: 'if ($ mail-> Invia()) {echo" E-mail inviata OK
"; } –