[英]Pear mail using php script just stops
我一直在嘗試使用pear和php腳本發送郵件。 我已經搜索了一天多,但還沒有找到我的問題。 當我在網站上運行此代碼時,沒有任何反應。 它會快速加載,然后停止。 我運行了一些echo命令,然后發現代碼特別停止在:
$mail = $smtp->send($to, $headers, $body);
就是這樣。 什么都沒發生。 我沒有收到任何錯誤輸入或任何東西,我只是看到我的回聲在此之前發生,而在此之后沒有回聲。 我已經安裝了梨和梨郵件。 我“認為”我正確安裝了它們,因為我可以在任何地方的命令行中鍵入“ pear”,它會彈出菜單。 我已經通過路由器和防火牆打開了465端口tcp。 我在Windows XP機器上。 我不知道錯誤日志將在哪里查看是否發生了任何不良情況。 我的服務器是Apache 2.2,托管在此Windows框中。
<?php
require_once "Mail.php";
$from = "user1@gmail.com";
$to = "user2@yahoo.com";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";
$server = "ssl://smtp.gmail.com";
$username = "user1@gmail.com";
$password = "pass";
$headers = array (
"From" => $from,
"To" => $to,
"Subject" => $subject);
$smtp = Mail::factory("smtp",
array ("host" => $server,
"port" => 465,
"auth" => true,
"username" => $username,
"password" => $password));
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo("<p>" . $mail->getMessage() . "</p>");
} else {
echo("<p>Message successfully sent!</p>");
}
?>
Gota非常喜歡這些問題如何需要10個小時的工作並且如此簡單。
因此,當我配置PEAR時,我正確地做到了。 我安裝了軟件包mail,mail_mime和net_socket。 我嘗試安裝net_smtp,但是它給了我隨機錯誤“沒有可用的梨軟件包發行版...”。 我以為這意味着該軟件包已安裝,我對此無能為力。 我不確切知道這件事是如何被竊聽的,但實際上在我的“ C:\\ Documents and Settings \\ user \\ Local Settings \\ Temp”文件夾中生成了一個pear文件夾。 我刪除了這個名為pear的文件夾,然后成功運行了“ pear install net_smtp”。 在那之后,我運行了我的PHP代碼,所有內容都像一個超級按鈕(能夠通過gmail smtp服務器成功發送我的電子郵件)。
感謝您的幫助,我對解決這個問題感到很欣慰! :)
您無需端口轉發,因為連接是出站的。 您的ISP可能阻止了連接。 在出站端口25上通用,在465上不是很多,但確實如此。
無論如何,您的代碼看起來不錯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.