J'essaie d'utiliser PEAR Mail pour envoyer en utilisant un serveur smtp externe. Il semble être suspendu pendant un moment, puis le script se termine. Il sort tous mes "echo" déclarations jusqu'à celui après l'envoi. Rien n'est émis après l'écho qui dit "avant d'envoyer". Quelqu'un peut-il me dire ce qui pourrait être mauvais ici? (Valeurs fictives substituées aux valeurs smtp). Le courrier n'est pas envoyé. Merci pour ton aide!Problème avec PHP PEAR Mail
echo "start";
$n = $_POST['txtName'];
$e = $_POST['txtEmail'];
$t = 'Kenny <[email protected]>';
$f = 'Kenny <[email protected]>';
$s = 'CPA TEST';
$b = "name: $n email: $e";
include("mail.php");
echo "after include";
/* mail setup recipients, subject etc */
$recipients = $t;
$headers["From"] = $f;
$headers["To"] = $t;
$headers["Subject"] = $s;
$mailmsg = $b;
/* SMTP server name, port, user/passwd */
$smtpinfo["host"] = "my_smtp_host";
$smtpinfo["port"] = "25";
$smtpinfo["auth"] = true;
$smtpinfo["username"] = "my_email";
$smtpinfo["password"] = "my_password";
echo "before object";
/* Create the mail object using the Mail::factory method */
$mail_object =& Mail::factory("smtp", $smtpinfo);
echo "before send";
/* Ok send mail */
$send = $mail_object->send($recipients, $headers, $mailmsg);
echo "after send";
if (PEAR::isError($send)) { print($send->getMessage());}else{print "end";}
echo "done";
Merci pour la réponse Todd. – Kenny
Salut à tous. J'ai testé votre script et il a le même effet que le "vrai" code. Il se bloque, pas d'avertissement, pas d'erreur. ma config php contient error_reporting = E_ALL | E_STRICT et display_errors = On. D'autres suggestions? –
Suivez les conseils de Rap et Jayme Dunlap en l'exécutant sur la ligne de commande pour voir l'erreur. –