我正在尝试使用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,用于媒体上传请求:
POST 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执行它的方法。
p.s我通过谷歌应用程序脚本提出了这样的请求:
GmailApp.sendEmail(<recipient>,'subject', <message>,{htmlBody:<message>, bcc:'test@gmail.com'});
但需要使用javascript执行它。
谢谢!