PHP を使用して簡単なメールを送信しようとしています。Mercury が実行されているかどうかを確認するために telnet を使用しようとしましたが、yes と応答します。また、mail() が true を返すため、スクリプトは問題ないはずですが、それでもメールを送信できません。この問題の原因は何ですか?
ここに私のPHPコードがあります:
$subject = "Simple mail";
$message = "Here is a test mail";
$to = "me@gmail.com";
$from = "me@test.com";
$header = "From: ".$from;
if(mail($to, $subject, $message, $header))
print "success<br>";
else
print "fail<br>";
以下は私のPHP.iniです:
[mail function]
; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury
; SMTP = localhost
; smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = postmaster@localhost
; XAMPP IMPORTANT NOTE (1): If XAMPP is installed in a base directory with spaces (e.g. c:\program filesC:\xampp) fakemail and mailtodisk do not work correctly.
; XAMPP IMPORTANT NOTE (2): In this case please copy the sendmail or mailtodisk folder in your root folder (e.g. C:\sendmail) and use this for sendmail_path.
; XAMPP: Comment out this if you want to work with fakemail for forwarding to your mailbox (sendmail.exe in the sendmail folder)
;sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
; XAMPP: Comment out this if you want to work with mailToDisk, It writes all mails in the C:\xampp\mailoutput folder
sendmail_path = "C:\mailtodisk\mailtodisk.exe"
; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_parameters =
; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
mail.add_x_header = Off
; Log all mail() calls including the full path of the script, line #, to address and headers
;mail.log = "C:\xampp\php\logs\php_mail.log"
メールサーバーが正しく動作していて、スクリプトが正しい場合、メールが配信されない唯一の問題は、メールがサーバーに到着していないことです。エラーの場所を見つけて解決するにはどうすればよいですか?
重要なお知らせに従い、いくつかの変更を加えました。