我正在尝试在浏览器应用程序中使用Gmail API发送电子邮件。我的功能如下:
function sendMessage(recepient, message, done) {
var base64EncodedEmail = '';
var request = gmail.users.messages.send({
to: recepient,
userId: 'me',
resource: {
raw: base64EncodedEmail
}
});
request.execute(done);
}
我得到以下信息:
'raw' RFC822 payload message string or uploading message via /upload/* URL required
我在这里做错了什么?
答案 0 :(得分:0)
弄清楚了...感谢Google REST API - message in an RFC 2822 formatted and base64url encoded string。新功能是
function sendMessage(recepient, subject, message, done) {
var base64EncodedEmail = btoa(`From: me\r\nTo: ${recepient}\r\nSubject: ${subject}\r\n\r\n${message}`)
.replace(/[\/\+]/g, '_')
.replace(/=+$/, '');
var request = gmail.users.messages.send({
userId: 'me',
resource: { raw: base64EncodedEmail }
});
request.execute(done);
}