2011-02-07 16 views
0

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 

は、私はその理由をトレースすることができません。

私にこれを手伝ってください。

おかげ

パンカジ

+0

コードはうまく見えます - それはsendmail自体の問題であるに違いありません。別の方法で試してみるか、MTAログを参照してください(シェルアクセスがある場合)。 – trojanfoe

+0

'/ var/log/maillog'を読んでください。成功した 'mail'コールは、メールが' sendmail'に渡されたことを意味し、 'sendmail'は実際にあなたのサーバーからそれを取得したものではありません。 –

答えて

0

は$ email_senderとして実際の電子メールアドレスを使用します。機能していない場合は、mail()関数[email protected]に5番目のパラメータを書きます(送信者の電子メールがあれば)

0

異なる受信者を送信しようとしましたか?あなたはspamboxをチェックしましたか? PHPMailerを使うことをお勧めします。

0

sendmailサービスが実行されていることを確認してください。VPSの手動起動が必要な場合もあります。

 

/etc/init.d/sendmail start 
 
+0

ちょっと私が言っている同様の問題があります** - bash:/etc/init.d/sendmail:そのようなファイルやディレクトリはありません** –

関連する問題