sendgrid模板的电子邮件主题中无法使用特殊字符的编码

时间:2019-02-19 10:11:54

标签: ruby-on-rails sendgrid sendgrid-templates sendgrid-ruby

我一直在使用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)

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

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:0)

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