Gmail Message Send API似乎正在从外发邮件中删除doctype和HTML注释。
generateMessage.js
var email = "From: 'me'\r\n" +
"To: bradvogel@outlook.com\r\n" +
"Subject: Test Doctype\r\n" +
"Content-Type: text/html; charset=utf-8\r\n" +
"\r\n" +
"<!doctype html>" +
"<html><body>test <!--[if !mso]>hidden from outlook<!--<![endif]--> </body></html>";
var base64 = new Buffer(email).toString('base64');
var websafeBase64 = base64.replace(/\//g, '_').replace(/\+/g, '-');
console.log(websafeBase64);
当我从bradvogel@outlook.com收到的电子邮件中查看原始邮件来源时,它没有doctype或注释:
To: bradvogel@outlook.com
Subject: Test Doctype
Content-Type: multipart/alternative; boundary=089e0102fc52abed0a04ff355038
--089e0102fc52abed0a04ff355038
Content-Type: text/plain; charset=UTF-8
test
--089e0102fc52abed0a04ff355038
Content-Type: text/html; charset=UTF-8
<html><body>test </body></html>
--089e0102fc52abed0a04ff355038--
请注意下面的doctype:
To: bradvogel@outlook.com
Subject: Test Doctype
Content-Type: multipart/alternative; boundary=089e0102fc52abed0a04ff355038
--089e0102fc52abed0a04ff355038
Content-Type: text/plain; charset=UTF-8
test
--089e0102fc52abed0a04ff355038
Content-Type: text/html; charset=UTF-8
<!doctype html>
<html><body>test <!--[if !mso]>hidden from outlook<!--<![endif]--> </body></html>
--089e0102fc52abed0a04ff355038--
通过SMTP发送相同的消息会保留整个消息。
需要doctype和注释来格式化Outlook和iOS Mail的电子邮件。该API似乎正在使用我的原始rfc822消息,并使用text和html表示将其转换为multipart / alternative,但重要内容已被删除。
是否有人知道如何在通过Gmail邮件发送API发送的邮件中保留doctype和评论?
答案 0 :(得分:3)
这可能只是一个API设计决策。在https://code.google.com/a/google.com/p/apps-api-issues/issues/detail?id=3786&thanks=3786&ts=1427478929
的问题跟踪器中提交