Linux(vps)サーバーで電子メール機能をテストしています。私は、コードを実行するとlinux(vps)サーバーで電子メール機能が動作しない
<?php
// --- CONFIG PARAMETERS --- //
//
$email_recipient = "[email protected]";
$email_sender = "Sender Name";
$email_return_to = "[email protected]";
$email_content_type = "text/html; charset=us-ascii";
$email_client = "PHP/" . phpversion();
//
// ------------------------- //
// --- DEFINE HEADERS --- //
//
$email_header = "From: " . $email_sender . "\r\n";
$email_header .= "Reply-To: " . $email_return_to . "\r\n";
$email_header .= "Return-Path: " . $email_return_to . "\r\n";
$email_header .= "Content-type: " . $email_content_type . "\r\n";
$email_header .= "X-Mailer: " . $email_client . "\r\n";
//
// ---------------------- //
// --- SUBJECT AND CONTENTS --- //
//
$email_subject = "Test email subject";
$email_contents = "<html>";
$email_contents .= "<h2>Test Email</h2>";
$email_contents .= "<br><b>Sender: " . $email_sender;
$email_contents .= "<br><b>Recipient: " . $email_recipient;
$email_contents .= "</html>";
//
// ---------------------------- //
$email_result = mail($email_recipient, $email_subject, $email_contents, $email_header);
if ($email_result) echo "Email has been sent!";
else echo "Email has failed!";
?>
それは処理に時間がかかり、その後、電子メールが送信された表示されます。 は、これは私が使用しています次のコードです。しかし、電子メールは決して受信者に配信されません。 は私がするphpinfoを通じてphp.iniファイルにメールを送るパスをチェックして()関数は、それが表示されます。
sendmail_from no value no value
sendmail_path /usr/sbin/sendmail -t -i /usr/sbin/sendmail -t -i
は、私はその理由をトレースすることができません。
私にこれを手伝ってください。
おかげ
パンカジ
コードはうまく見えます - それはsendmail自体の問題であるに違いありません。別の方法で試してみるか、MTAログを参照してください(シェルアクセスがある場合)。 – trojanfoe
'/ var/log/maillog'を読んでください。成功した 'mail'コールは、メールが' sendmail'に渡されたことを意味し、 'sendmail'は実際にあなたのサーバーからそれを取得したものではありません。 –