【问题标题】:Mandrill parse facebook encoding issueMandrill 解析 facebook 编码问题
【发布时间】:2014-06-28 20:51:07
【问题描述】:

我从 facebook 在 parse.com 上创建了 A little sn-p。此 sn-p 用于从 Web 应用程序发送联系信息。

// Use Parse.Cloud.define to define as many cloud functions as you want.
// For example:

Parse.Cloud.define("sendMail", function(request, response) {
  var Mandrill = require('mandrill');
  var EJS = require('ejs')

  var params = request.params;
  var data = params.data;

  var html = "<!doctype html>" +
             "<html>" +
               "<head>" +
                 "<meta charset='utf-8'>" +
               "</head>" +
               "<body>" +
                 "<h2>Уведомление с сайта tverkardan.ru!</h2>" +
                 "<h3>Новая заявка</h3>" +
                 "<table>" +
                   "<tr>" +
                     "<td><b>ФИО:</b></td>" +
                     "<td>" + data.name + "</td>" +
                   "</tr>" +
                   "<tr>" +
                     "<td><b>Телефон:</b></td>" +
                     "<td>" + data.phone + "</td>" +
                   "</tr>" +
                   "<tr>" +
                     "<td><b>E-mail:</b></td>" +
                     "<td>" + data.email + "</td>" +
                   "</tr>" +
                   "<tr>" +
                     "<td><b>Сообщение:</b></td>" +
                     "<td>" + data.message + "</td>" +
                   "</tr>" +
                 "</table>" +
               "</body>" +
             "</html>";

  Mandrill.initialize('API-KEY');
  Mandrill.sendEmail({
    message: {
      html: html,
      subject: "Уведомление с сайта tverkardan.ru",
      from_email: "info@tverkardan.ru",
      from_name: "Сайт tverkardan.ru",
      to: [
        {
          email: "mixan946@yandex.ru",
          name: "ТверьКарданСервис"
        }
      ]
    },
    headers: {
      "Content-type": "text/html; charset='UTF-8'"
    },
    async: true
  },{
    success: function(httpResponse) {
      console.log(html);
      console.log(httpResponse);
      response.success("Письмо успешно отправлено!");
    },
    error: function(httpResponse) {
      console.error(httpResponse);
      response.error("Ошибка! Что-то пошло не так!");
    }
  });
});

有这个sn-p的应用调用:

Parse.Cloud.run("sendMail", {data: {name: "test", phone: "123123123", email: "email@eamil.ru", message: "фываыфва ыфва фыва ывф"}})

所有代码都可以正常工作,但是当我收到这封电子邮件时。没有西里尔符号

email

我做了一些研究,发现 Mandrill 中的 API 调用也不接收西里尔符号

API call params

【问题讨论】:

    标签: email encoding utf-8 parse-platform mandrill


    【解决方案1】:

    您需要将文本编码为 UTF-8,如下所示: 对于原始文本,这些内容应该足够了:

    function encode_utf8(s) {
        return unescape(encodeURIComponent(s));
    }
    ...
    text="Ты читала "+title+" от "+author+" еще "+readingSessionTime/60.0+" минут или "+readingSessionTime/3600.0+" часов"
    
    
        console.log("Sending:"+text);
        //TODO:use user's e-mail field (and check for e-mail to exist)
        Mandrill.sendEmail({
            message: {
                text: encode_utf8(text),e
    

    【讨论】:

      猜你喜欢
      • 2018-11-20
      • 2015-09-30
      • 2023-03-12
      • 2015-05-20
      • 2014-08-27
      • 2023-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多