由于某种原因,Gmail API 不会发送 html 电子邮件。发送明文效果很好:
var message = 'From: Me <<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="96fbf3d6f1fbf7fffab8f5f9fb" rel="noreferrer noopener nofollow">[email protected]</a>>\r\n' +
'To: Me <<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="d1bcb491b6bcb0b8bdffb2bebc" rel="noreferrer noopener nofollow">[email protected]</a>>\r\n' +
'Subject: Hello\r\n\r\n'
'World'
var raw = btoa(message)
然后当我尝试 html 时,它只显示为空消息:
var message = 'From: Me <<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="016c6441666c60686d2f626e6c" rel="noreferrer noopener nofollow">[email protected]</a>>\r\n' +
'To: Me <<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="cfa2aa8fa8a2aea6a3e1aca0a2" rel="noreferrer noopener nofollow">[email protected]</a>>\r\n' +
'Subject: Hello\r\n'
'Content-Type: text/html; charset=utf-8\r\n' +
'Content-Transfer-Encoding: quoted-printable\r\n\r\n' +
'<html><body>' +
'<h1>World</h1>' +
'</body></html>'
var raw = btoa(message)
有什么想法吗?也许是因为它不符合 RFC 2822?
最佳答案
对于初学者,您需要使用 base64url 编码,使用 web/url 安全字母表而不仅仅是标准 btoa() base64。如果这不能解决问题,您可以发布您的代码和您收到的确切错误消息吗? (或者它是否有效但不显示为 html?)
关于javascript - 使用 Gmail API 发送 HTML 电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26769952/