« 2006年07月 | メイン | 2006年09月 »

2006年08月07日

メールの本文と添付書類を分ける時、使うモジュールとクラス

メールの本文と添付書類を分ける時、使うモジュールとクラス(perlでプログラミンーグできる)
http://search.cpan.org/~dskoll/MIME-tools-5.419/lib/MIME/Entity.pm(参考資料)
http://www.7korobi8oki.com/mt/archives/000019.html(参考資料)
1。MIME::Parserインスタンスする(実例化)
2。MIME::Entity
  すべてのエンティティにはheaderとbodyがあります。エンティティはMIME::Entityで表されま   す。
1)エンティティからheader(MIME::Header)とbody(MIME::Body)を得るメソッドがあります。
2)bodyhandle()メソッドを使って実際のメール本文を得ることが出来ます。
3)2つのパートを含んでいる典型的なマルチパートのメッセージ(グリーティングメッセージとGIF画像)は、MIME::Entityのツリーになっています。それぞれのパーツもそれぞれMIME::Headを持っています。こんな感じに。


.--------.
| MIME:: | Content-type: multipart/mixed
| Entity | Subject: Happy Samhaine!
`--------'
|
`----.
parts |
| .--------.
|---| MIME:: | Content-type: text/plain; charset=us-ascii
| | Entity | Content-transfer-encoding: 7bit
| `--------'
| .--------.
|---| MIME:: | Content-type: image/gif
| Entity | Content-transfer-encoding: base64
`--------' Content-disposition: inline;
filename="hs.gif"

3。MIMEのヘッダーのデータを持っているMIME::Head(headメソッドで、エンティティからMIME::Headerを得ることが出来ます)
4。メッセージの本文の場所を知っているMIME::Body(bodyhandle()メソッドを使って実際のメール本文を得ることが出来ます)

(START HERE) results() .-----------------.
\ .-------->| MIME:: |
.-----------. / | Parser::Results |
| MIME:: |--' `-----------------'
| Parser |--. .-----------------.
`-----------' \ filer() | MIME:: |
| parse() `-------->| Parser::Filer |
| gives you `-----------------'
| a... | output_path()
| | determines
| | path() of...
| head() .--------. |
| returns... | MIME:: | get() |
V .-------->| Head | etc... |
.--------./ `--------' |
.---> | MIME:: | |
`-----| Entity | .--------. |
parts() `--------'\ | MIME:: | /
returns `-------->| Body |<---------'
sub-entities bodyhandle() `--------'
(if any) returns... | open()
| returns...
|
V
.--------. read()
| IO:: | getline()
| Handle | print()
`--------' etc...

今の問題(よく分からないところ)1。メールの添付書類を分けて、リンクを本文の中付いてから、添付書類を保存される場所の権限、2。リンクを押す時認証が必要あるかどうか
3。