2011-01-08 5 views
2

私は少し問題があります。私はmail()関数を使ってPHPを使ってメールを送るために働いているスクリプト(私のテストアカウント - 共有サーバで動作します)を使用しています。PHP mail()関数がメールを配信しない

私はちょうど専用のサーバーを持っていて、私は機能するようにはできませんでした。私は最後に10時間を費やして、BIND(SPFレコード用)、dovecot、sendmail、postfixで様々なことを試してみました。

明らかに私が紛失しているものがあります。

PHPコードはうまく動作します。すべてのヘッダーはすべて上質です。これは私のテストアカウントから直接コピーされたものです。そのため、問題はサーバーの設定のどこかで発生する必要があります。 sendmailへのパスは正しいですし、sendmailは(明らかに)うまく動作しています。 PHP mail()関数のブール結果に基づいて "Sent"または "Error"を出力するようにスクリプトを設定しました。つまり:

if(mail($blah,$blah,$blah,$blah,$blah)) { echo "Sent"; } else { echo "Error";} 

結果は常に「送信済み」になりますが、メールは到着しません。誰かがチェックすることを提案することができますか?私はこれを完全に新しいです(24時間程度!)。

ありがとうございます。ライアン

+2

受信者メールのスパンフォルダを確認しました – tkt986

+0

専用のサーバーで実行しているメールデーモンはありますか? –

+0

ジョン、タグはsendmailをリストします。 –

答えて

0

あなたはエラーがあるかどうかを確認するためにmailq commandを試してみましたか?詳細はanswer to a similar question on ServerFaultです

+0

こんにちはすべて - 返信いただきありがとうございます。スパムフィルタには何もありません。私はsendmailを実行していますが、私もpostfixを実行しています。 [OK]を、いくつかの進歩、私は '0'を返していた前にmailqで入力していたが、今私は "mailq - AC"を入力していると私は8つのエラーを取得しています。 – Ryan

+0

ありがとうございました。私はこれを今読んでおきます。 – Ryan

+0

こんにちはMatt。私は働いて、GoogleのSMTPサーバ経由で私のGmailアカウントに電子メールを送った。それは通過したが、送信者などがいない迷惑メールフォルダで終わった。だから私はこれがSPFの問題だと仮定しているのだろうか?それとも、私は行方不明ですか? – Ryan

0

SMTPサーバーをインストールしましたか。 phpメール機能は、あなたがインストールしなければ動作しません。たとえば、Linuxでは、postfixをインストールすることができます。ウィンドウの下では、MS交換が一例です。

+0

こんにちはAlexandre、はい、postfixが動作しています。それが問題なのかどうかは分かりません。 mailqに遅延エラーが出ています。 – Ryan

関連する問題