以下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格式的电子邮件的所有内容都说使用嵌套表格和内联样式。为什么我的宽度样式不起作用?
答案 0 :(得分:4)
经过大量的搜索,实验和测试后,我终于发现我需要将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>";
希望这可以节省其他类似问题。