我正在尝试从 Mogsdad 提供的解决方案中创建“原始”参数 here。
我来到了下面的解决方案
/**
* Send a raw RFC 2822 formatted and base64url encoded email
* using the Advanced Gmail service.
*
* From http://stackoverflow.com/a/35073785/1677912
*
* @param {String} raw RFC 2822 formatted and base64url encoded message
*
* @returns {String} Message ID of the message (now in Sent Messages).
*/
function sendRawMessage( raw ) {
var message = Gmail.newMessage();
message.raw = raw;
var sentMsg = Gmail.Users.Messages.send(message, 'me');
return sentMsg.id;
}
function rawMessage(){
const messageBody = `
this is a test message
`;
var raw = (
"From: foo@gmail.com\r\n" +
"To: foo@gmail.com\r\n" +
"Subject: Subject Text\r\n\r\n" +
messageBody
);
var encodedMsg = Utilities.base64Encode(raw).replace(/=+$/, ''); //the replace removes the equals after
var myId = sendRawMessage( encodedMsg );
Logger.log(myId);
}
但是,当我运行该函数时,出现以下错误,而且我似乎无法弄清楚意外的令牌是什么。
API call to gmail.users.messages.send failed with error: Invalid JSON payload received. Unexpected token.
我的最终目标是能够通过 Gmail API 发送电子邮件,但不必“...直接使用 Web API”。