pear と php スクリプトを使用してメールを送信しようとしています。1日以上検索しましたが、まだ問題を見つけていません。このコードを Web サイトで実行しても、何も起こりません。すぐにロードして停止します。いくつかのエコー コマンドを実行したところ、コードが具体的に次の場所で停止することがわかりました。
$mail = $smtp->send($to, $headers, $body);
それだけです。他に何も起こりません。エラー入力などはありません。エコーがこの直前に発生し、その後にエコーが発生していないことがわかります。私は pear と pear メールをインストールしました。コマンドラインに「pear」と入力すると、どこにでもメニューが表示されるので、正しくインストールしたと思います。ルーターとファイアウォールを介してポート 465、tcp を開きました。私はWindows XPマシンを使用しています。望ましくないことが起こっているかどうかを確認するためのエラー ログがどこにあるのかわかりません。私のサーバーは、この Windows ボックスでホストされている apache 2.2 です。
<?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>");
}
?>