【问题标题】:issue in html mail template which have other languagehtml邮件模板中存在其他语言的问题
【发布时间】:2018-07-19 09:34:13
【问题描述】:

我正在尝试将 html 代码作为正文传递给 OneSignal 服务。但是我的邮件有一些葡萄牙语内容,这些内容在邮件中转换为其他符号。 如何将其转换为可读的葡萄牙语内容?

下面是代码,我如何在 OneSignalService 中传递正文:

var body = $scope.mailBody;    
body = body.replace("{HE_ID}", id).replace("{HE_Name}", name);    
body = $('<div></div>').append(body).html();    
OneSignalService.SendMail($scope.HE_StatusTitle, body, "abc@abc.com", "xyz@mailinator.com")

【问题讨论】:

    标签: html encode


    【解决方案1】:

    这可能是由于 Web 表单(由服务器发送的“Content-type:”标头确定)与电子邮件中发送的内容之间的字符编码不匹配。后者可能是由OneSignalService.SendMail() 函数决定的,我不知道。它可能正在发送一个 Content-type 邮件标头,其编码与您在页面上的编码不同,或者它可能根本不发送任何编码(在这种情况下,收件人电子邮件客户端决定使用什么编码)。

    您的问题内容没有提供足够的信息来正确猜测到底发生了什么,但我建议您这样做:

    • 确保您的服务器在 HTML 标头中发送“Content-Type: text/html; charset=utf-8”。

    • 检查您的邮件发件人 (OneSignal) 的配置,并确保将其设置为以“utf-8”编码发送电子邮件(并发出适当的 SMTP 邮件标头)。

    • 您还可以在具有邮件输入表单的 HTML 页面和作为电子邮件发送的 HTML 中的 &lt;head&gt; 部分添加 &lt;meta charset="utf-8"&gt;。但是,仅此一项并不能保证解决问题(浏览器将优先考虑 HTTP 标头,并且可能会忽略“元”标签)。

    【讨论】:

    • 我已经尝试过添加和删除元标记,但它保持不变。
    猜你喜欢
    • 2010-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-23
    相关资源
    最近更新 更多