I'm trying to send an email through Google API with JavaScript.
My issue is that when I try to send a simple mail with no attachments, I get the following error:
'raw' RFC822 payload message string or uploading message via /upload/* URL required`
My code
function sendMessage() {
gapi.client.load('gmail', 'v1', function() {
// Web-safe base64
var to = '[email protected]',
subject = 'Hello World',
content = 'send a Gmail.'
var base64EncodedEmail = btoa(
"Content-Type: text/plain; charset="UTF-8"
" +
"Content-length: 5000
" +
"Content-Transfer-Encoding: message/rfc2822
" +
"to: [email protected]
" +
"from: "test" <[email protected]>
" +
"subject: Hello world
" +
"The actual message text goes here"
).replace(/+/g, '-').replace(///g, '_');
var mail= base64EncodedEmail;
console.log(mail);
var request = gapi.client.gmail.users.messages.send({
'userId': "me",
'message': {
'raw': mail
}
});
request.execute(function(response){
console.log(response);
});
});
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…