def fetch(set, attr)
      return fetch_internal("FETCH", set, attr)
    end
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