中小企業の働き方改革をサポート>>

メール送信にチャレンジしてますが、

なぜか、
受信メールの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;
}
}

このQ&Aに関連する最新のQ&A

A 回答 (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;
    • good
    • 0
この回答へのお礼

ビンゴ!!すばらしいです。解決しました。

納得しました。ありがとうございました。感激です!

お礼日時:2008/10/14 21:49

$fromにメールアドレスは含まれていますか?


そうでなければメール転送エージェントが@以降を勝手に付与してるのでしょう。

この回答への補足

<$fromにメールアドレスは含まれていますか?

含んでいますけど
独自ドメインなので・・・@​www754.sakura.ne.jpは勝手に付加されてしまいます。

補足日時:2008/10/14 08:47
    • good
    • 0

>サーバー情報がFROM欄に自動的に付加されるのですが



スパムなどの悪質な偽装を防ぐためです。
    • good
    • 0

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


人気Q&Aランキング