2

我一直在使用 sendgrid-ruby gem 发送电子邮件。电子邮件的主题没有正确解码特殊字符。例如。为电子邮件发送此主题How's it going会在实际电子邮件中转换为此主题How's it going

我尝试将字符串编码为不同格式,例如 ASCII、ISO_8859_1,但这些都不起作用。

@body_json['personalizations'][0]['dynamic_template_data'] = {
    'email_title': @email_title,
    'content': @description,
    'subject': "How's it going"
}

SendGrid::API.new(api_key: ENV['SENDGRID_API_KEY']).client.mail._('send').post(request_body: @body_json)

电子邮件的主题应正确显示特殊字符,例如 ' & :

4

2 回答 2

7

您应该在主题部分使用三方括号,即{{{subject}}}带有特殊字符的主题。如果您使用双括号方法,您的字符串将被 HTML 编码。

从 SendGrid 存储库检查此链接https://github.com/sendgrid/sendgrid-nodejs/issues/741#issuecomment-422026634

于 2020-02-19T16:54:50.717 回答
1

好的,所以在与 sendgrid 支持人员聊天后,我能够弄清楚这一点。问题不在于我这边的 sendgrid 请求。每当制作模板时,请务必确保标题中的主题标题在双括号内,即{{subject}}. 这将确保所有特殊字符都在此块内工作。

于 2019-03-06T10:32:46.260 回答