4

我正在尝试使用 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来执行。

谢谢!

4

0 回答 0