[メールヘッダの本文抜き出しについて(PHP)]

以下のようなスクリプトを用いて、[From:]の抜き出しに成功しました。さて、本文も抜き出したい場合、どういうスクリプトを追加すれば良いでしょうか?

$stdin = fopen(’php://stdin’,’r’);
while(!feof($stdin)) {
$value = fgets($stdin, 1024);
if(eregi(’^From: *(.+)’,$value,$from_value)) {
break;
}
}
よろしくお願いいたします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/09/02 17:26:53
  • 終了:--

回答(2件)

id:aki73ix No.1

aki73ix回答回数5224ベストアンサー獲得回数272004/09/02 17:56:36

ポイント100pt

ちょっと不明な点があったので質問したのですが、お返事が無かったので推測で・・・

POP3に接続時の生ログを処理していると仮定します

まず、ソースです

メールのサンプルです

実行サンプルです

いかがでしょうか?

後半が本文を$CONTENTに代入する部分です

Fromを取得後Breakした後でそのまま処理をしています

前回”..”を処理していなかったのでそれも追加しました

id:akame

いつもありがとうございます。

示していただいたスクリプトを試させていただきます。

スクリプト中でprintするとエラーメールが返って来てしまいます。

$stdin = fopen(’php://stdin’,’r’);

while(!feof($stdin)) {

$value = fgets($stdin, 1024);

if(eregi(’^From: *(.+)’,$value,$from_value)) {

break;

}

}

↑このソースに、合わせて本文を抜き出すスクリプトを示していただけると助かります。。

お手数お掛けして申し訳ございません、どうかよろしくお願いいたしますm(__)m

2004/09/02 18:10:05
id:aki73ix No.2

aki73ix回答回数5224ベストアンサー獲得回数272004/09/02 18:19:16

ポイント200pt

printはデバッグ用なのでそのまま消していただいたら動くはずなのですが(^^;

ちなみに、$from_value、そのままだとFrom:ヘッダがつきますから消した方がいいかも・・・例文ではsubstrを使っています

赤字の部分が追加した個所です

id:akame

ありがとうございます!!!!!!!!!!!!

出来ました!!!!!!!!!!!!!!!!!

いつも本当にご親切にしていただき、本当に感謝です!また質問すると思いますので、、その時はどうかよろしくお願いいたしますm(__)m

ありがとうございました!

2004/09/02 18:30:11

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません