このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

(ファイルされた)メールからタイトルや本文などを取り出すには

発言者:kozka
( Date Wednesday, March 25, 1998 18:38:44 )


EIMS2.01の「save as file...」でファイルしたメールからメールからタイトル
や本文などを正確に取り出すよい方法があれば教えて下さい。

現状は以下のスクリプトで行っています。添付されたファイルは無視。

on getMail(theMail)
  set x to xReturner (JisToSjis (DecodeJHeaders theMail))
  set x to x & "end of file."
  set mailContentType to item 1 of (pickUpFromData x startOf "content-type: " endOf return with Trim)
  if mailContentType begins with "multipart" then
    set mailBodyDelimiter to item 1 of (pickUpFromData x startOf "boundary=\"" endOf "\"" with Trim)
    set MailBody to (item 2 of (pickUpFromData x startOf (return & return) endOf "--" & mailBodyDelimiter with Trim))
  else
    set MailBody to item 1 of (pickUpFromData x startOf (return & return) endOf "end of file." with Trim)
  end if
  set MailFrom to item 1 of (pickUpFromData x startOf "From: " endOf return with Trim)
  set mailDate to item 1 of (pickUpFromData x startOf "Date: " endOf return with Trim)
  set mailSub to item 1 of (pickUpFromData x startOf "Subject: " endOf return with Trim)
  
  return {mail_From:MailFrom, mail_Date:mailDate, mail_Sub:mailSub, mail_Body:MailBody}
end getMail

田中求之 さんからのコメント
( Thursday, March 26, 1998 02:38:55 )

EIMS 2.0 がどういうフォーマットでファイルに保存するか忘れてしまったのですが
確か、データがベタに書かれた形ですよね?

でしたら、基本的には、Kozka さんの書かれたような、文字列を検索して切り出す
スクリプトを使うことになります。

上記のスクリプトで問題ないと思いますが、なにか問題がありますか?

kozka さんからのコメント
( Thursday, March 26, 1998 11:42:40 )

たぶんベタで書かれたデータだと思います。

今のところ2つのメーリングリストを受け取って処理してる範囲では問題ない
ですので、このまま続けてみます。

**取り出した日付けのフォーマットが曜日付きと曜日なしの2通りの場合がある
事が分かりました。