actionmailer 编码 - 在电子邮件客户端中呈现垃圾

Posted

技术标签:

【中文标题】actionmailer 编码 - 在电子邮件客户端中呈现垃圾【英文标题】:actionmailer encoding - rendering garbage in email client 【发布时间】:2012-07-13 17:34:37 【问题描述】:

我的电子邮件既有文本部分也有 html 部分。在电子邮件包含来自数据库的值的某些情况下,用户会报告“垃圾字符”。当涉及 unicode 字符时,这似乎是一个问题。我创建了一个简单的模板,它只是回显了文本和 html 部分 (<%= @body_text %>) 的值,并使用示例字符串对其进行了测试:

永久功能 ë

当我在 gmail 中看到这个字符串时,它看起来像:

永久功能������

检查我在邮件上看到的标题:

内容类型:多部分/替代;字符集=UTF-8 内容传输编码:7bit

然后是文本部分:

内容类型:文本/纯文本; charset=UTF-8 内容传输编码: base64

和html部分:

内容类型:文本/html; charset=UTF-8 内容传输编码: 引用可打印

ruby 1.9.2,rails 3.2.6

【问题讨论】:

ruby-doc.org/core-1.9.3/String.html#method-i-unpack 【参考方案1】:

根本原因被确定为 premailer-rails3 gem == 1.2.0。迁移到 actionmailer_inline_css gem 已解决。

【讨论】:

以上是关于actionmailer 编码 - 在电子邮件客户端中呈现垃圾的主要内容,如果未能解决你的问题,请参考以下文章

在 Rails3 / ActionMailer 中设置 Message-ID 邮件头

如何在 ActionMailer 中捕获错误异常

使用 ActionMailer 的电子邮件注册确认

Rails - 你如何测试 ActionMailer 在测试中发送了特定的电子邮件

如何在开发中禁用 ActionMailer?

使用 ActionMailer 发送多部分邮件时出现问题