我一直在使用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)
电子邮件主题应正确显示特殊字符,例如'&:
答案 0 :(得分:4)
您应该在主题部分使用三括号,即{{{subject}}}
用于带有特殊字符的主题。
如果您使用双括号方法,则您的字符串将采用HTML编码。
从SendGrid存储库https://github.com/sendgrid/sendgrid-nodejs/issues/741#issuecomment-422026634中查看此链接
答案 1 :(得分:0)
好的,所以在与sendgrid支持人员聊天之后,我能够弄清楚这一点。问题不在于我这边的sendgrid请求。每当制作模板时,请始终确保标题中的主题标题位于双括号内,即{{subject}}
。这样可以确保所有特殊字符都可以在此块中使用。