加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Ruby IMAP库不解码邮件主题

发布时间:2020-12-17 03:58:13 所属栏目:百科 来源:网络整理
导读:我的Gmail帐号中有以下主题的邮件: “400,значение,значение” 这是我用来抓邮件的代码: imap = Net::IMAP.new('imap.gmail.com',993,true,nil,false)imap.login(LOGIN,PASSWORD) imap.select("INBOX")messages = imap.search(['ALL']).ma
我的Gmail帐号中有以下主题的邮件:

“400,значение,значение”

这是我用来抓邮件的代码:

imap = Net::IMAP.new('imap.gmail.com',993,true,nil,false)
imap.login(LOGIN,PASSWORD) 
imap.select("INBOX")
messages = imap.search(['ALL']).map do |message_id|
  msg =imap.fetch(message_id,"ENVELOPE")[0].attr["ENVELOPE"]
  result =  {:mailbox => msg.from[0].mailbox,:host => msg.from[0].host,:subject => msg.subject,:created_at => msg.date}
  imap.store(message_id,"+FLAGS",[:Deleted])
  result
end
imap.expunge()
imap.logout

在msg.subject中,我得到以下值“=?KOI8-R?B?MTAwLCDixc7ayc4sIDMwMDAgzMnU0s / X?=”

似乎IMAP没有解码它.我应该手动或IMAP库可以为我吗?

解决方法

使用NKF怎么样?

require 'nkf'
...
result =  {... :subject => NKF.nkf("-mw",msg.subject),...}

-mw表示MIME解码和utf-8输出

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读