Je suis assez coincé avec un problème d'envoi de courrier à partir d'un script PHP. Certaines données:
Voici le code:
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
$to = "[email protected]";
$subject = "Hi";
$body = "Test 1\nTest 2\nTest 3";
$headers = 'From: [email protected]' . "\r\n" .
'errors-to: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
if (mail($to, $subject, $body, $headers)) {
echo("Message successfully sent");
} else {
echo("Message sending failed");
}
require('class.phpmailer.php');
$message = "Hello world";
$mail = new PHPMailer();
$mail->CharSet = "UTF-8";
$mail->AddAddress("[email protected]", "Agos");
$mail->SetFrom("[email protected]","My Site");
$mail->Subject = "Test Message";
$mail->Body = $message;
$mail->Send();
?>
Et voici ce que j'obtiens:
Échec de l'envoi du message Impossible d'instancier la fonction de messagerie.
Ce qui est pour le moins déroutant. Puis-je faire quelque chose pour obtenir au moins quelques erreurs plus significatives? Pourquoi le code de la classe apparaît-il dans mon fichier?
Il semble que le fichier class.phpmailer.php soit corrompu. Je téléchargerais la dernière version et réessayer.
J'ai toujours utilisé la fonction SMTP de phpMailer:
$mail->IsSMTP();
$mail->Host = "localhost";
Et si vous avez besoin d'informations de débogage:
$mail->SMTPDebug = 2; // enables SMTP debug information (for testing)
// 1 = errors and messages
// 2 = messages only