プロが教えるわが家の防犯対策術!

PHPの自動返信メールフォームについてです。
docomoの携帯メールを上手く受け取れません。

アンケートの取る為の自動返信メールフォームを作成しています。

メールを受け取る事は出来るのですが
DOCOMOの携帯の場合、送信者の
メールアドレスが”で囲まれて、後ろに@サーバ名が付きます。
↓こんな感じ
"メールアドレス"@サーバ名
メールを返信しようとすると
こういう記述があります。
<"=?ISO-2022-JP?B?Zm9yY2VfMS5mLXkucG9vQHQudm9kYWZvbmUubmUuanA@サーバ名>

PHPのソースは
mb_language("Ja")
mb_internal_encoding("sjis")
@mb_send_mail($conf[test@xxx.jp],$title,$mail_str,'From:'.mb_encode_mimehheader("$mail"));
mailは変数です。

どなたか対処方法をご教唆願います。

A 回答 (2件)

docomo のメールアドレスに「 ..(連続したドット) 」が入っていると、uhoho001さんの仰るとおり「 "メールアドレス"@サーバ名 」のようになってしまいますね。


もし「"」が問題で送信できないのであれば、シンプルに考えてジャマな記号を削除してしまうのはいかがでしょうか。

// メールアドレス
$mailAddress = '"test..test"@test.com';

// 正規表現でダブルクォーテーションを除去
$mailAddress = preg_replace( '/"(.+?)"@/', "$1@", $mailAddress );

// メール送信( TO 以外は、同じ )
mb_language("Ja");
mb_internal_encoding("sjis");
@mb_send_mail( $mailAddress, $title, $mail_str, 'From:'.mb_encode_mimehheader("$mail") );

※補足
上記のような「"」付きアドレスでも、環境によっては送信できます。
文字コードが UTF-8 のサーバ環境 + postfix ですと、ほとんどの場合送信可能です。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
早速試してみます。

お礼日時:2011/10/04 09:57

提示されているソースはどうみても送信処理ですが・・・


PHPからのメールをdocomoで正常に受信できない って事ですか?

> ↓こんな感じ
> "メールアドレス"@サーバ名
> メールを返信しようとすると
> こういう記述があります。
> <"=?ISO-2022-JP?B?Zm9yY2VfMS5mLXkucG9vQHQudm9kYWZvbmUubmUuanA@サーバ名

これはメールアドレスじゃなくてmessage-idとかかな?

もう少し、前後の情報と「こうしたらこうなった」の具体例があれば、回答つきやすいですよ。
「上手く受け取れません」のどこがうまくないのかがよくわからないので。

この回答への補足

回答ありがとうございます。
私の説明不足で申し訳ありません。

OutLook Express6で
docomoからのメールを受信しますと
送信者が "xxxx@docomo.ne.jp"@サーバ名となります、
その他の携帯会社のメールは
送信者は xxxx@ezweb.ne.jp です。
docomoのメール全部ではなく、文字数が長い時、 . が入って
いる時になります。

補足日時:2011/10/04 09:56
    • good
    • 0

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