• 締切済み

メール送信でFROMの表示が・・

メール送信にチャレンジしてますが、 なぜか、 受信メールのFromが メール差出人名@www754.sakura.ne.jpと受信表示さます。 (サーバーはさくらインターネットサーバー) @www754.sakura.ne.jpのサーバー情報がFROM欄に自動的に付加されるのですが、どうしてでしょうか? function sendMails($to,$sub,$msg,$from){ mb_internal_encoding("utf-8"); mb_language("Japanese"); $from = mb_encode_mimeheader($from, 'ISO-2022-JP'); $header = <<<EOM From: {$from} Return-Path: {$from} X-Mailer: mailform1.0 Content-Type: text/plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit Mime-Version: 1.0 EOM; if(mb_send_mail ($to,$sub,$msg,$header)){ return true; }else{ return false; } }

みんなの回答

  • mpx
  • ベストアンサー率71% (149/209)
回答No.3

現れる症状は使用しているMTA(SMTPサーバ)に依存しますが 少なくともmime変換に問題があります。 【原因】 >> $from = mb_encode_mimeheader($from, 'ISO-2022-JP'); 上記の様に、全てをmime変換してしまってはメールアドレスまで 変換されてしまいMTAからは読めません。 そのため、MTAによってはメールアドレスが無いと判断してenvelope-from からFrom欄を補うか、サーバーのデフォルトドメインを@マーク以下に 付加するものが多いです。 【対策】 From欄は、日本語部分だけmime変換しましょう 例 $from="ほげほげ<hoge@example.com>"; $frommail = mb_ereg_replace(".*(<.*>)","\\1",$from); $fromj = mb_ereg_replace("(.*)<.*>","\\1",$from); $from = mb_encode_mimeheader($fromj,'ISO-2022-JP').$frommail;

midorin_h
質問者

お礼

ビンゴ!!すばらしいです。解決しました。 納得しました。ありがとうございました。感激です!

  • UmJammer
  • ベストアンサー率58% (115/196)
回答No.2

$fromにメールアドレスは含まれていますか? そうでなければメール転送エージェントが@以降を勝手に付与してるのでしょう。

midorin_h
質問者

補足

<$fromにメールアドレスは含まれていますか? 含んでいますけど 独自ドメインなので・・・@​www754.sakura.ne.jpは勝手に付加されてしまいます。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>サーバー情報がFROM欄に自動的に付加されるのですが スパムなどの悪質な偽装を防ぐためです。

関連するQ&A