【问题标题】:Send HTML formatted email using Gmail API and Javascript使用 Gmail API 和 Javascript 发送 HTML 格式的电子邮件
【发布时间】:2017-06-28 23:20:46
【问题描述】:

以下 javascript 代码通过 Gmail API 成功发送了一封电子邮件。然而,表格格式,特别是表格和列(单元格)宽度设置,似乎被忽略了。

function sendMail(email) {
    var to = email;
    var subject = "HTML formatted email";
    var content = "";
    content += "<html><body>";
    content += "<table width='100%'><tr><td>"; // Outer table
    content += "<table width='60%'>"; // Nested table
    content += "<tr><td width='70%'>This is a row</td><td width='30%'>999999</td></tr>";
    content += "<tr><td width='70%'>So is this</td><td width='30%'>9999</td></tr>";
    content += "</table>";
    content += "</td></tr></table>";
    content += "</body></html>";
    var email =
            "From: 'me'\r\n" +
            "To: " + to + "\r\n" +
            "Subject: " + subject + "\r\n" +
            "Content-Type: text/html; charset=utf-8\r\n" +
            "Content-Transfer-Encoding: quoted-printable\r\n\r\n" +
            content;
    var base64EncodedEmail = window.btoa(email).replace(/\+/g, "-").replace(/\//g, "_");
    var request = gapi.client.gmail.users.messages.send({
        "userId": "me",
        "resource": {
            "raw": base64EncodedEmail
        }
    });
    request.execute();
}

电子邮件如下所示:

This is a row 999999
So is this    9999

我研究过的关于发送 HTML 格式电子邮件的所有内容都表明使用嵌套表格和内联样式。为什么我的宽度样式不起作用?

【问题讨论】:

  • 尝试删除% 符号。 width='400' 应该可以解决问题。

标签: javascript html email gmail-api


【解决方案1】:

经过大量搜索、实验和测试,我终于发现我需要将 content-transfer-encoding 值设置为 base64:

var email =
        "From: 'me'\r\n" +
        "To: " + to + "\r\n" +
        "Subject: " + subject + "\r\n" +
        "Content-Type: text/html; charset='UTF-8'\r\n" +
        "Content-Transfer-Encoding: base64\r\n\r\n" +
        "<html><body>" +
        content +
        "</body></html>";

希望这可以节省其他人有类似问题的时间。

【讨论】:

  • 内容传输编码更改对我有用..并节省了我的一天
  • 哇,我的英雄,为我节省了很多,你也尝试添加附件吗?这是我的下一个拦截器
猜你喜欢
  • 2015-01-02
  • 2018-01-26
  • 2019-01-24
  • 1970-01-01
  • 2018-02-03
  • 2021-09-11
  • 2017-05-15
  • 2018-08-28
  • 2016-02-29
相关资源
最近更新 更多