On Feb 14, 2007, at 14:20, barjunk wrote:
messagestruct = imap.uid_fetch(10,[“BODYSTRUCTURE”])[0]
You’ll have to pass the message through a library like TMail to do
further processing on the body.
Thanks for that…the thing is, its not very clear to me, by reading
the docs provided, how those message objects are “organized”.
How does one use the documentation provided, along with some
guesswork, about what the different objects “look” like?
There’s two pieces, RFC 3501:
http://www.rfc-editor.org/rfc/rfc3501.txt
and Net::IMAP docs, particularly fetch:
$ ri Net::IMAP.fetch
-------------------------------------------------------- Net::IMAP#fetch
fetch(set, attr)
Sends a FETCH command to retrieve data associated with a message
in the mailbox. The set parameter is a number or an array of
numbers or a Range object. The number is a message sequence
number. attr is a list of attributes to fetch; see the
documentation for Net::IMAP::FetchData for a list of valid
attributes. The return value is an array of Net::IMAP::FetchData.
For example:
p imap.fetch(6..8, "UID")
#=> [#<Net::IMAP::FetchData seqno=6, attr={"UID"=>98}>, \
#<Net::IMAP::FetchData seqno=7, attr={"UID"=>99}>, \
#<Net::IMAP::FetchData seqno=8, attr={"UID"=>100}>]
p imap.fetch(6, "BODY[HEADER.FIELDS (SUBJECT)]")
#=> [#<Net::IMAP::FetchData seqno=6, attr={"BODY
[HEADER.FIELDS (SUBJECT)]"=>“Subject: test\r\n\r\n”}>]
data = imap.uid_fetch(98, [“RFC822.SIZE”, “INTERNALDATE”])[0]
p data.seqno
#=> 6
p data.attr[“RFC822.SIZE”]
#=> 611
p data.attr[“INTERNALDATE”]
#=> “12-Oct-2000 22:40:59 +0900”
p data.attr[“UID”]
#=> 98
Maybe this is just too broad of a question and as I run into issues, I
should just ask specific questions about how to solve a specific
problem…
Well, the ri has been immensely helpful to me in writing IMAPCleanse.
This is where I see the adopt-a-newbie might come in handy. I don’t
want to be told how to do it, just what things I should be considering
as I read through the docs. Experience will fill in the gaps…it
would be nice if it included experience of others.
What are you building?