0

mail() 関数を使用してメールを送信する際に問題が発生しています。

name@domain.com のような電子メール アドレスに対して完全に正常に動作するスクリプトがありますが、電子メールの最初の部分が name.surname@domain.com のようなドットを含むものである場合、動作せず、次のエラーが返されます。

警告: mail() [function.mail ]: SMTP サーバーの応答: 554 : 受信者アドレスが拒否されました: 119 行目の Confirmed.php でリレー アクセスが拒否されました

実際のメール アドレスを使用していますが、上記の例では変更しています。

任意の考え - 私は php マスターではありませんが、確かに 2 部構成の最初のセクションでアドレスにメールを送信する簡単な方法がありますか??

前もってありがとうアリ

4

2 に答える 2

2

PHP のせいではありません。それはあなたのSMTPサーバーです。メールログ、つまり /var/log/mail.log をチェックして、何か出力されているかどうかを確認します。私の最善の推測は、リレーの設定が間違っているということです。

于 2010-05-28T10:31:25.060 に答える
1

以下のコードがこのエラーで失敗した場合、DeeD は部分的に正しいですが、壊れているのはリレーではありません。アドレス書き換えルールは完全に ^&*(ed up.

<php 
 mail('name.surname@domain.com','hello','test');
?>

また試してください:

しかし、これは、MTA をセットアップした人の側では、非常にばかげたエラーになります。mail(...) の呼び出しの前に他の場所のコードがアドレスを変更している可能性が高いか、分析が不完全である可能性が高いと思います。この場合、上記のどちらのテストでも元のエラーは返されません。コードをインストルメント化して、アドレスが変更されている場所を見つけてください。

あるいは、MTA が本当に . 名前で-それを構成した人のために牛製品を買いに行きます。

C.

于 2010-05-28T11:27:28.517 に答える