私はアプリケーションを開発しており、PHP で mail() 関数をテストしています。以下は、自分自身に電子メールを送信するためにローカル マシンで問題なく動作しますが、テスト環境からローカル マシンに送信しようとすると、黙って失敗します。
「Mail Sent」メッセージは引き続き表示されますが、メッセージは送信されません。php.ini ファイルでメールのログ記録をオンにしましたが、ページを更新した後もデータが取り込まれていないようです。
繰り返しますが、.php ファイルと php.ini ファイルは両方の環境で同一です。テスト環境ではポート 25 が開かれており、Microsoft Exchange サーバーを使用しています。
<?php
$to = "user@example.com";
$subject = "Test mail";
$message = "Hello! This is a simple email message.";
$from = "user@example.com";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
echo "Mail Sent.";
?>
php.ini ファイルの SMTP エリア:
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = exhange.server.org
; http://php.net/smtp-port
smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = user@example.com