1

クライアントの Web サイトのルートに単純な PHP スクリプトがあります。

<?php  
      $to = "info@xxxxxxxxxx.it"; 
      $header = "From: {$to}";
      $subject = "Hi!"; $body = "Hi,\n\nHow are you?"; 
      if (mail($to, $subject, $body, $header)) 
      { 
          echo("<p>ok</p>"); 
      } 
      else { 
          echo ("<p>no invio</p>"); 
      } 
      echo '<br/>'; 
?>

実際のところ、自分の電子メール アドレス (GMail など) をテストすると動作しますが、クライアントの Web メールでテストすると失敗します。

4

3 に答える 3

0

@user gmail や yahoo などに送信する場合は、"Reply-to:" を追加する必要があります。

于 2012-10-20T13:46:07.120 に答える
0

あなたは$to内側から持っています。

 $to = "info@xxxxxxxxxx.it"; 
 $header = "From: {$to}";

それがあなただけがそれを受け取る理由だと思います。

$from同じ方法で定義してから、ヘッダーを変更する必要があります。

 $header = "From: {$from}";

http://us2.php.net/manual/en/function.mail.phpに十分な例があります

于 2012-10-22T01:31:59.953 に答える
0

それは基本的にこの部分にあります:

$header = "From: {$to}";

ほとんどのメール システムは正当なサーバーから送信されたものではない電子メールを拒否するため、現在、ヘッダーを設定することFrom:は、ドメインが自分で所有されている場合を除き、悪い習慣です。

をそのままにして、代わりにFrom:使用することをお勧めします。Reply-To:

たとえば"From: xxx@gmail.com"、メール ヘッダーに を追加すると、Google のサーバーは、サーバーが gmail ユーザーに代わってメールを送信する権限を持っているかどうかを確認します。彼らは、とりわけ、その電子メール ドメインのSPFレコードをチェックすることによってこれを行います。

于 2012-10-22T01:50:13.133 に答える