7

ここで使用している用語がすべて正しいかどうかはわかりませんので、ご容赦ください。

PHP の mail() 関数を使用して電子メールを送信する連絡先フォームをサイトに掲載しました。十分に単純です。ただし、ライブ サイトは実際にはメールを送信しませんが、テスト サイトは送信します。だからそれは私のコードではありません。

これは共有ホストであり、完全に機能する同じ機能を持つ別のサイトがあるため、サーバーではありません.

この 2 つの唯一の違いは、機能しないサイトのネーム サーバーが私たちを指しているだけで、MX レコードが私たちのサーバーにアクセスしないことです。

私の質問は、私たちのサーバーを指している MX レコードがない場合、mail() 関数が機能しないことを確認してください。ありがとう

4

6 に答える 6

3

はい。それはうまくいきます。MX レコードが Google Apps に設定された mail() 関数を使用する PHP スクリプトがあります。

2 つのスクリプトが異なるホスト上にある場合 (投稿からは少しわかりにくい場合があります)、ホストがカスタム ヘッダーの一部をブロックしていないことを確認してください。スクリプトを作成するときにこれに問題がありましたが、From ヘッダー以外をすべて削除すると問題が解決しました。

于 2008-09-02T01:24:33.993 に答える
2

一部のホスト (Godaddy は最悪) は sendmail と mail() の使用をブロックします。

私は通常、php アプリケーションからメールを送信するために smtp を使用しますが、PHPMailerを使用すると非常に簡単です。多くのアプリケーションは古いバージョンの PHPMailer を使用しており、更新すると役立つ場合があります。短いスクリプトにもすばやく追加するのも簡単です。

于 2008-09-02T14:33:26.017 に答える
2

皆さん、答えてくれてありがとう、本当に感謝しています。

問題を数か月間無視した後、再び発生しましたが、問題に対する答えを見つけました.

まず、回答が示唆したように、PHP と mail() 関数は期待どおりに機能していました。メールが送られてきました。

問題はメールの送信時にあります。メールは mydomain.com から *@mydomain.com メールに送信されるため、メール自体が同じサーバーでホストされているため、代わりにそこに送信され、MX レコードを無視すると単純に推測されます。 .

それよりも少し複雑ですが、それが一般的な要旨です。

編集:メール サーバーが Web ホスト上にない場合、トピック sendmail および MX レコードのより良いバージョンが見つかりました。

于 2009-02-24T01:09:17.330 に答える
1

サイトでSPFを使用している場合は、送信サイトをSPFレコードに含めることを忘れないでください。詳細については、こちらをご覧ください

于 2009-01-11T12:51:43.290 に答える
0

はい、「from」フィールドに必要なものを入力できますが、それでも機能します。

于 2008-09-02T01:15:42.360 に答える