Возможно, у меня сегодня просто плохой ум, но я вдруг не могу понять, как читать электронную почту с помощью библиотеки ruby net / imap. Я был на этом в течение нескольких часов. Я набрал в Google несколько вариантов «ruby imap read body» и исследовал множество сайтов. У всех них есть примеры того, как извлекать вложения, синхронизировать почтовые серверы, работать с gmail и т. Д. Некоторые (например, chilkat) на самом деле являются условно-бесплатными библиотеками, которые делают это для вас. Я посмотрел на документацию по net / imap и хотя есть несколько примеров для всего, кроме чтения основного текста.
Раньше я работал с net / imap, но мне нужно было только вытащить вложения из папки «Входящие» в каталог. Я спросил в #ruby и #rubyonrails безрезультатно - никто не мог понять это.
imap=Net::IMAP.new('mail.xks.com') #of course these are not real
imap.login('web1_xk3','pxx2006')
imap.select('INBOX')
imap.search(["SENTSINCE",(Time.now-1.day).strftime("%d-%b-%Y")]).each do |msgid|
body = imap.fetch(msgid,"BODY")[0].attr["BODY"]
##insert code for getting the text from the body here
##body.class is BodyTypeText
end
P.S. Хотя я делаю ссылку на активную поддержку в коде, это sans-rails, так что это означает отсутствие action-mailer