人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

●質問者: akame
●カテゴリ:ビジネス・経営 コンピュータ
✍キーワード:PHP スクリプト メール
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● aki73ix
●100ポイント

http://nifberry.727.net/test/hatena69.htm

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

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

まず、ソースです

http://nifberry.727.net/test/hatena69.txt

メールのサンプルです

http://nifberry.727.net/test/hatena69.php

実行サンプルです

いかがでしょうか?

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

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

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

◎質問者からの返答

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

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

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

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

while(!feof($stdin)) {

$value = fgets($stdin, 1024);

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

break;

}

}

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

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


2 ● aki73ix
●200ポイント

http://nifberry.727.net/test/hatena69a.htm

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

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

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

◎質問者からの返答

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

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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ