Tôi đang cố gắng sử dụng Thư PEAR để gửi bằng máy chủ SMTP bên ngoài. Có vẻ như đã treo một lúc rồi kịch bản kết thúc. Nó xuất ra tất cả các câu lệnh "echo" của tôi cho đến khi nó được gửi đi. Không có gì là đầu ra qua echo nói "trước khi gửi". Bất cứ ai có thể cho tôi biết những gì có thể sai ở đây? (giá trị giả được thay thế cho giá trị smtp). Thư không được gửi. Cảm ơn bạn đã trợ giúp!Sự cố với 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";
Cảm ơn bạn đã trả lời Todd. – Kenny
Xin chào! Tôi đã thử nghiệm tập lệnh của bạn và nó có cùng hiệu ứng với mã "thực". Nó treo, không có cảnh báo, không có lỗi. cấu hình php của tôi chứa error_reporting = E_ALL | E_STRICT và display_errors = Bật. Bất cứ một đề nghị nào khác? –
Làm theo lời khuyên của Rap và Jayme Dunlap bằng cách chạy nó trên dòng lệnh để xem lỗi. –