dポイントプレゼントキャンペーン実施中!

お疲れ様です。
お世話になっています。

今空メールのシステムを作っていて、Fromの取得について困っています。
今まではstdinで1行ごと取得して、FROMで始まる行の<>の中みを取得というやりかたをしていたのですが、とあるメールサーバーからくるメールが
FROM: =?MIME_ENCODE?=
<test@example.com>
と2行になっていて、取得に失敗していました。

なので1行ずつ取得をやめて、
ヘッダーのFROM:から次の内容までを1要素とした配列が作れればいいなと思い、今取り組んでいる状態です。

つまり、
FROM: =?MIME_ENCODE?=
<test@example.com>
RETURN_PATH:<test@example.com>
SUBJECT:=?MIME_ENCODE?=

があれば、
$header['FROM']="=?MIME_ENCODE?=
<test@example.com>";
$header['RETURN_PATH']="<test@example.com>";
$header['SUBJECT']="=?MIME_ENCODE?=";

としたいということです。
うまくこの形に収めるためには正規表現が必要だと思うのですが、
別の方法でもこの形に収めるにはどうしたらよいでしょうか。

よろしくお願いします。

A 回答 (1件)

電子メールの規約ではヘッダーにおいて行頭にスペース等の空白文字が有る場合は空白文字をセパレーターとした前の行の続きであると決まっています。



ですから処理前に次の行の行頭を調べて空白文字がある場合は連結する処理を行えば今までの方法でうまくいくとおもいます。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
なるほど。そんなキマリがあったのですね!

やってみます。

お礼日時:2007/08/23 13:09

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