人力検索はてな
モバイル版を表示しています。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 スクリプト メール
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● esseesse
●20ポイント

http://www02.so-net.ne.jp/~hat/imail/sec04.html

メールはヘッダとボディ(本文)の間に空行が1行だけ入っています。

ですから、最初の空行を認識して、それ以降を本文とみなします。

具体的にはCR+LFが2つ続いているところを検索して、それ以降は本文、とします。

◎質問者からの返答

ご回答ありがとうございます。

なるほど、空行で判断して、、という事ですね。

具体的なスクリプトが示されたURLがあると助かります。よろしくお願いいたします。


2 ● stakaha
●20ポイント

http://www.hatena.ne.jp/10940283569999

人力検索はてな

さだかではないですが、こんな感じでしょうか・・・

本文 = substr($data,strpos($data,”¥r¥n¥r¥n”)+strlen(”¥r¥n¥r¥n”));

本文 = substr($data,strpos($data,”¥n¥n”)+strlen(”¥n¥n”));

¥r¥nが最初に2つ出現するところが本文の始まりです。

◎質問者からの返答

具体的なソースをありがとうございます。

試してみます。

引き続きよろしくお願いいたします。


3 ● esseesse
●20ポイント

http://pear.php.net/manual/ja/package.mail.mail-mime.php

PEAR :: Manual :: Mail_Mime

こういうライブラリを使う、という手もありでいいのでしょうか。

http://www.hatena.ne.jp/1094028356#

[メールヘッダの本文抜き出しについて(PHP)] 以下のようなスクリプトを用いて、[From:]を抜き出しました。さて、本文を抜き出すにはどうしたら良いでしょうか? $stdin = f.. - 人力検索はてな

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

while(!feof($stdin)) {

$value = fgets($stdin, 1024);

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

continue;

}

if(eregi(’^$’,$value)) {

break;

}

}

while(!feof($stdin)) {

$value = fgets($stdin, 1024);

$body = $body.$value.”¥n”;

}

動作チェックしたわけではないですが、上記のイメージでいかがでしょうか。

◎質問者からの返答

具体的なソースをありがとうございます。

試させていただきます。

引き続きお願いいたします。


4 ● aki73ix
●30ポイント

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

ソースです

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

PHPで使用するサンプルメールです

2つのメールがくっついています

メールは受信時に最後が.だと本文の終わりをあらわします

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

実行結果です

◎質問者からの返答

いつもお世話になっております。。

ソースまで示して頂き、ありがとうございます。

私の現在のソース

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

while(!feof($stdin)) {

$value = fgets($stdin, 1024);

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

break;

}

}

$from = trim($from_value[1]);

に、単純に本文を抜き出すスクリプトを加えるとどのようになりますでしょうか?

お願いいたしますm(__)m

関連質問


●質問をもっと探す●



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