lin*_*ngy 2 ruby mime imap ruby-on-rails
我正在尝试编写一个可以从gmail中提取邮件并在Ruby中获取内容的系统.(使用imap或pop)
据我所知,有' ruby-gmail ','mail'(较新版本的tmail)和'action mailer'可能有助于我这样做.
我现在正在尝试'mail'和'ruby-gmail',我使用这样的解码函数:
gmail.inbox.emails[0].body.decoded
Run Code Online (Sandbox Code Playgroud)
但有些邮件可以正确解码,但有些邮件不能.
解码邮件的输出如下所示:
This is MIME multipart 6.
--__=_Part_Boundary_002_310696381.907173471
Content-Type: text/plain;
charset="big5"
Content-Transfer-Encoding: quoted-printable
=AE=BC=A5=BF=A7A=A6n,
.......(some encoded content)
Run Code Online (Sandbox Code Playgroud)
对于其他一些邮件,Content-Transfer-Encoding是base64.
有没有更好的方法来正确解码邮件?
或者我只需要阅读邮件,获取编码部分,并使用Base64.decode64或解压缩.("M")来解码邮件?
我不知道'gmail'的宝石,但'mail'的效果非常好.就像是
require 'mail'
mail = Mail.new(mail_text)
mail.parts[0].body.decoded
Run Code Online (Sandbox Code Playgroud)
应该工作(使用'n'而不是0为其他部分)
还要注意它可能是一个附件,所以你需要 mail.attachments[0].decoded
| 归档时间: |
|
| 查看次数: |
5128 次 |
| 最近记录: |