Asp Forum
Home
|
Login
|
Register
|
Search
Forums
>
comp.lang.ruby
Tmail + IMAP + Attachments
Dustin Webber
11/5/2008 2:37:00 AM
I am working on a script to log in to a mail server via IMAP and pull
tables of content from certain emails. All the tables are accompanied by
graphs which are quite nice.
How can I pull these attachments with Tmail, is this possible?
Here is what I have so far:
Attachments:
http://www.ruby-...
attachment/2894...
--
Posted via
http://www.ruby-...
.
3 Answers
Dustin Webber
11/5/2008 2:41:00 AM
0
Dustin Webber wrote:
> I am working on a script to log in to a mail server via IMAP and pull
> tables of content from certain emails. All the tables are accompanied by
> graphs which are quite nice.
>
> How can I pull these attachments with Tmail, is this possible?
>
>
> Here is what I have so far:
Sorry, forgot some important information.
Filetype: image/gif #=> Image format of the graphs I want to save.
I appreciate any help I can get. :)
--
Posted via
http://www.ruby-...
.
Damjan Rems
11/5/2008 7:22:00 AM
0
Didn't tried with tmail but this is how it goes with IMAP.
imap = Net::IMAP.new('my.mail.server')
imap.login('usr', 'pwd')
imap.select('Inbox')
# all msgs
n = imap.search(["SINCE", "1-Jan-1969"])
n.each do |msgID|
msg = imap.fetch(msgID, ["ENVELOPE","UID","BODY"] )[0]
unless msg.attr["ENVELOPE"].subject.index('SOME STRING').nil?
body = msg.attr["BODY"]
i = 1
while body.parts[i] != nil
sType = body.parts[i].subtype
cName = body.parts[i].param['NAME']
i+=1
attachment = imap.fetch(msgID,
"BODY[#{i}]")[0].attr["BODY[#{i}]"]
File.open($wDir+cName,'wb+') { |f|
f.write(attachment.unpack('m')) } unless attachment.nil?
end
end
end
by
TheR
--
Posted via
http://www.ruby-...
.
Dustin Webber
11/6/2008 8:03:00 PM
0
Damjan Rems wrote:
>
> Didn't tried with tmail but this is how it goes with IMAP.
>
> imap = Net::IMAP.new('my.mail.server')
> imap.login('usr', 'pwd')
> imap.select('Inbox')
> # all msgs
> n = imap.search(["SINCE", "1-Jan-1969"])
> n.each do |msgID|
> msg = imap.fetch(msgID, ["ENVELOPE","UID","BODY"] )[0]
> unless msg.attr["ENVELOPE"].subject.index('SOME STRING').nil?
> body = msg.attr["BODY"]
> i = 1
> while body.parts[i] != nil
> sType = body.parts[i].subtype
> cName = body.parts[i].param['NAME']
> i+=1
> attachment = imap.fetch(msgID,
> "BODY[#{i}]")[0].attr["BODY[#{i}]"]
> File.open($wDir+cName,'wb+') { |f|
> f.write(attachment.unpack('m')) } unless attachment.nil?
> end
> end
> end
>
>
> by
> TheR
Thank you that worked. Still having some problems getting it to work but
I am sure it will come to me.
Thank you again!
- Dustin
--
Posted via
http://www.ruby-...
.
Servizio di avviso nuovi messaggi
Ricevi direttamente nella tua mail i nuovi messaggi per
Tmail + IMAP + Attachments
Inserendo la tua e-mail nella casella sotto, riceverai un avviso tramite posta elettronica ogni volta che il motore di ricerca troverà un nuovo messaggio per te
Il servizio è completamente GRATUITO!
x
Login to ForumsZone
Login with Google
Login with E-Mail & Password