0

PHP の mail() 関数を使用していますが、ほとんどのサーバーにメールを送信できません。問題なく GMAIL にメールを送信します...おそらく、残りのサーバーは私のメールを拒否するだけです...必要なメールサーバーの MX レコードを設定しました...そして、PTR レコードを mail.example.com に変更しました......しかし、まだメールを送信できません..どうすればこの問題を解決できますか?

さらに、メッセージの送信者は「www-data@localhost」と表示されます。

(デジタルオーシャン、Ubuntu 12.04を使用しています)

ログ ファイルに表示されるエラー:

私の非修飾ホスト名 (localhost) は不明です。再試行のためスリープ中 localhost sendmail[11620]: 自分のドメイン名 (localhost) を修飾できません -- 短い名前を使用しています (mail.err でエラーが発生します); ログ ファイルには、検証に関するいくつかのエラーが表示されます。STARTTLS=client に関して smt をインストールする必要がありますか?

4

2 に答える 2

0

mail() 関数 ypou neet を使用して SENDER と from/to などを設定する場合。

すなわち

mail($to, $subject, $body, $headers, "-f ".$webmaster);

重要なことは"-f ".$webmaster、失敗したメールの BOUNCE アドレス (エンベロープ送信者) としてデフォルトの 'www-data@localhost' をオーバーライドできることです。

ほとんどのメーラーは、無効なバウンス アドレスを含む電子メールを拒否します。

多くのホストされたサーバーでは、-f 値を設定できません...これは「実際の送信者」を設定し、もちろんスパムを送信する古典的な方法です..

-f を試してみて、失敗した場合はホスティング会社を変更してください。または、仮想プライベート サーバーを取得します。

于 2014-03-12T05:55:14.967 に答える