我正在尝试使用ruby mail gem阅读电子邮件 . 但 mail.body.decoded
不仅仅回复了身体信息 . 如何清理此正文消息并删除不需要的文本,如:
-20cf30433c9a437cc304939017ef\nContent-Type: text/plain; charset=ISO-8859-1\nContent-
message = $stdin.read
mail = Mail.read_from_string(message)
puts mail.body.decoded
--20cf30433c9a437cc304939017ef\nContent-Type: text/plain; charset=ISO-8859-1\nContent-Transfer-Encoding: quoted-printable\n\n REAL BODY TEXT \\n\n--20cf30433c9a437cc304939017ef\nContent-Type: text/html; charset=ISO-8859-1\nContent-Transfer-Encoding: quoted-printable\n\n<br clear=3D\"all\">--20cf30433c9a437cc304939017ef--
如何清除此电子邮件正文邮件,仅提取REAL BODY TEXT,不带任何 Headers ?
我正在创建一个基于Ruby on Rails的简单票证系统,并在ticket@mydomain.com收到电子邮件时创建票证 . 但是当消息是HTML格式时,BODY TEXT被HEADER文本包围 .
4 回答
如果您有正确格式的电子邮件,则可以使用Mail帮助程序方法:
如果您有例如,这并不总是有效 . 单个部分消息(仅文本)或从互联网接收电子邮件,因为您不能依赖每个客户端的格式 . 相信我,我学到了很多困难 .
看起来你有一个多部分的电子邮件,所以你可以使用mail.parts [0] .body.decoded这些也可能会派上用场:mail.multipart?
mail.parts.length
github的宝石文档相当不错
添加邮件gem并使用mail.parts [1] .body.decoded使用电子邮件正文格式 .
使用
mail
gem,您可以: