如何使用ruby的net / imap库读取电子邮件的正文?
发布时间:2020-12-16 19:28:08 所属栏目:百科 来源:网络整理
导读:也许今天我脑子坏了,但是我突然想不出如何用 ruby的net / imap库读取邮件.我已经呆了好几个小时.我将“ruby imap read body”的几个变体输入到google中,并且已经探索了许多网站.所有这些都有关于如何拉附件,同步电子邮件服务器,使用gmail等的示例…有些(如ch
也许今天我脑子坏了,但是我突然想不出如何用
ruby的net / imap库读取邮件.我已经呆了好几个小时.我将“ruby imap read body”的几个变体输入到google中,并且已经探索了许多网站.所有这些都有关于如何拉附件,同步电子邮件服务器,使用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 附:虽然我在代码中提到了积极的支持,但是这是无轨的,所以这意味着没有action-mailer 解决方法
如果你只是想要消息的正文内容,你可以使用:
body = imap.fetch(message_id,'BODY[TEXT]')[0].attr['BODY[TEXT]'] IMAP API虽然有点深奥,如果您想处理整个消息,我建议您使用TMail将其解析为更易于使用的格式: msg = imap.fetch(message_id,'RFC822')[0].attr['RFC822'] mail = TMail::Mail.parse(msg) body = mail.body (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |