0

PHP で MAIL() 関数を使用して電子メール通知を送信しようとしています。

だからここに私がそれを使用している方法があります。

$to      = 'email@address.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);

これは私が得るもの

Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() 

しかし、それは送信しません。メール機能が機能するように、サーバーが正しく構成されているかどうかわかりません。Windows Server 2008 R2 で PHP 5.3.19 を実行しています

私の質問は、サーバーがメールを送信するように正しく構成されていることを確認するにはどうすればよいですか? メッセージを追跡して、対象の個人に送信されなかった理由を確認するにはどうすればよいですか?

ありがとう

4

1 に答える 1

0

Windows で作業する場合、SMTP サーバー経由で電子メールを送信するように PHP を構成する必要があります。デフォルトでは、localhost が使用されます。php.ini 設定を変更して SMTP 情報を変更する方法については、 PHP のドキュメントを参照してください。

[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25

IIS7 SMTP をインストールできると思いますが、自分でそれを使用したことがないため、間違っている可能性があります (SMTP のニーズに Exchange または Linux ボックスを使用しました)。何をするにしても、それがオープンリレーではないこと、および/またはローカルホストのみにファイアウォールすることを確実にするように構成してください。

編集: iis.net のこの記事が役立つ場合があります。

于 2013-05-23T23:31:03.893 に答える