我正在尝试使用 JavaScript Gmail API 发送电子邮件,但我找不到如何操作。
好吧,我有发送普通电子邮件的代码,但所有 html 都像文本一样显示。
这是代码:
var email = "From: me\r\nTo: "+to+ "\r\nBcc: " +bcc+ "\r\nSubject: "+subject+"\r\n\r\nbody: " + content;
仅发送带有元数据的消息
function sendMessage(email,id)
{
var base64EncodedEmail = btoa(unescape(encodeURIComponent(email))).replace(/\//g,'_').replace(/\+/g,'-');
var request = gapi.client.gmail.users.messages.send({
'userId': 'me',
'resource': {
'raw': base64EncodedEmail
},
});
request.execute(callbacksend);
}
当我尝试将内容类型设置为 html 作为响应时,我收到了来自服务器的错误响应,我需要使用上传方法。
确实,在这里-https://developers.google.com/gmail/api/v1/reference/users/messages/send
就是说:上传URI,对于媒体上传请求:
发布https://www.googleapis.com/upload/gmail/v1/users/userId/messages/send
但是在尝试使用 gapi.client.load('upload', 'v1', callback); 或者只是试图运行gapi.client.upload.gmail.users.messages.send
它没有找到......
我不知道如何执行这样的请求,或者从 gmail 发送 html 消息的另一种方式。也许我需要从纯 XMLHttprequest 中尝试它,但最好从 gapi 中找到执行它的方法。
ps 我已经通过谷歌应用程序脚本提出了这样的请求:
GmailApp.sendEmail(<recipient>,'subject', <message>,{htmlBody:<message>, bcc:'test@gmail.com'});
但是需要用javascript来执行。
谢谢!