• 締切済み

au携帯のメールヘッダの扱いについて MIME::Headでsubjectやfromフィールドの値が取得できません

自分宛てのメールで送信元を判断して自動応答していたのですが、auの携帯メールでは、以下の用にFROMとメールアドレスの間に改行があるためか、MIME::Parser->head->get('From')が空になってしまいます。また、MIME::Parser->head->stringifyでヘッダ全体をとろうとするのですが、三行目のFROM:で切れてしまいます。メール本文もMIME::Parser->bodyhandle->as_lineでは、先頭一行しか取得できない状態です。何か対処方法は無いのでしょうか? ---- メールヘッダ部 ------- Subject: Re:どこでん<index> From: 99999@ezweb.ne.jp Date: Sun, 24 Jul 2005 14:50:32 +0900 To: xxxx@example.net -----------ここまで------------ よろしくお願いします。

みんなの回答

  • geso775
  • ベストアンサー率29% (15/51)
回答No.1

>auの携帯メールでは、以下の用にFROMとメールアドレスの間に改行があるためか、 MIME::Parser->head->get('From')が空になってしまいます。 get自体はFrom:を正規表現で判定して取得だと思うので上記だとしたら無理な気がします。 面倒ですが、MIMEを用いずにNet::POP3で取得したメールリストから該当のメールを受信(Pop3->list) した情報を独自にヘッダ解析(ターゲットの次を取得)などすれば取得は可能かと思います。

参考URL:
http://digit.que.ne.jp/work/index.cgi?Perl%A5%E1%A5%E2%2FPerl%A4%C7%A5%E1%A1%BC%A5%EB%A4%F2%BC%F5%A4%B1%A4%EB#i0
noname#93729
質問者

お礼

今回使用していたメールは、テスト用に作成したものと判明しました。 このため、実際のau携帯のメールで確認した所問題なく取得できました。 お騒がせして申し訳ありませんでした。

関連するQ&A