電子書籍の厳選無料作品が豊富!

大分ネットで調べたのですがうまく見つかりません。
以下のようなプログラムでメール送信すると、
送信先が yahooまたはgmailの場合、迷惑メールフォルダに
振り分けられます。

$to = "xxxxxxxxxxxxxxxxxxx@yahoo.ne.jp";
$subject = "テストメール";
$body ="これはテストです。\nこれはテストです\n";
$header = <<<END
From: yyyyyyyyyyyyyy@yahoo.co.jp
END;
mb_send_mail($to, $subject, $body, $header, '-f yyyyyyyyyyyyyyy@yahoo.co.jp);

補足として
 1.From と To は別のアドレスを用いています。
 2.説明の便宜上、本文は2行としてますが、実際のテスト
   プログラムでは本文は50行程度あります。
   内容は健全です(迷惑メール扱いはされないはず)
 3.環境はレンタルの専用サーバです。
 4.送信は1通のみ行っています(何百通も送っているわけではありません)。

また、私が借りている別のレンタルサーバーで、
somebody@mydomain.com にメールを送信すると、somebody@yahoo.co.jp
に自動転送されるような設定をしています。
上記プログラムのToをsomebody@mydomain.comに変えた場合、
somebody@yahoo.co.jp に転送され届いたメールは、
迷惑メールフォルダでなく、通常の受信箱に入っていました。

どなたかアドバイスを頂ければ幸いです。

A 回答 (2件)

送信元は@mydomain.comからですよね?


それをFrom: yyyyyyyyyyyyyy@yahoo.co.jpとしているのですから
たんに送信元の偽装と判断されているのでは?
    • good
    • 0
この回答へのお礼

確かに・・と思い From やら何やら関係がありそうな
ヘッダーの類を全て書き換えたのですが、
やはりうまくいきませんでした。。
すいません、ありがとうございます。
解決ではなく回避ですが、パスワード付の外部の
メールサーバに接続し、送信するようにしました。

お礼日時:2008/09/23 14:11

yahoo.co.jpのDNSを今見てみらたら、spfレコードが記録されています。

(spfについては、 http://e-words.jp/w/Sender20ID.html 参照)
つまり、senderが ???@yahoo.co.jp を名乗った場合、送信元が、spfレコードで指定されたIPアドレス以外はスパムと判断します。
yahoo.co.jp. 900 IN TXT "v=spf1 include:spf.yahoo.co.jp ~all"
~allが指定されているので厳密な判定を要求していますね

'-f yyyyyyyyyyyyyyy@yahoo.co.jp' とsenderを指定しているようなのでmb_send_mailが利用するSMTPサーバを smtp.mail.yahoo.co.jp に指定していないかぎりこうなるのは仕方ないです。

>> somebody@mydomain.com にメールを送信すると、
>> somebody@yahoo.co.jp に自動転送されるような設定をしています。
この場合は、yahooのメールサーバからはmydomain.comがsenderになります。mydomain.comにはspfが設定されていないのでこのチェックは回避されています。

ちなみに、senderとヘッダー内のFrom欄は別物ですので誤解の無いように!
    • good
    • 0
この回答へのお礼

ありがとうございます。大変勉強になりました。

知識不足だったため調べなおし、色々とメールアドレスのドメイン
を変えて試してみたのですが残念ながらうまくいかず・・
ご丁寧な説明ありがとうございました。

お礼日時:2008/09/23 14:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!