使用Ruby中的base64进行邮件解码

时间:2016-09-14 05:47:53

标签: ruby-on-rails utf-8 decode

我正在尝试实施解码邮件

- 001a11419e22edc789053c4ccb1b 内容类型:text / plain;字符集= UTF-8 这是众所周知的 --001a11419e22edc789053c4ccb1b 内容类型:text / html;字符集= UTF-8

这是众所周知的

- 001a11419e22edc789053c4ccb1b -

我如何解码UTF-8中的html格式 我也在尝试解码

 require 'base64'
 def decode(x)
  y = Base64.decode64(x)
 d = y.force_encoding('UTF-8')
return d

但错误是    UTF-8中的无效字节序列 当我只使用Base64.decode64(x)时 然后它显示输出.. uӟ6۽ ٽ9 xݯ= z{Sʗ { V Z ǭQ1|〜 j 它背后的原因是什么?

1 个答案:

答案 0 :(得分:0)

您无法仅使用Base64.decode64解析电子邮件。某些电子邮件中只有一小部分是base64编码的。您必须提取此部分,然后您可以使用Base64.decode64解码提取的部分。

如果你想要解析一封电子邮件,你可以手工制作"#34;或使用现有的宝石,例如https://github.com/mikel/mail