在 Google Apps 脚本中使用 GMail API 发送电子邮件
Send email using GMail API in Google Apps Script
我有一封原始电子邮件(在 playground 和工作中测试过),我想用 Google 的 Gmail API 从 Google Apps Script 发送它。
我找不到请求的正确语法:
var RequestUrl = "https://www.googleapis.com/gmail/v1/users/emailAccount/messages/send";
var RequestArguments = {
muteHttpExceptions:true,
headers: {Authorization: 'Bearer ' + token
'GData-Version': '3.0',
'Content-Type': "message/rfc822",
},
payload: {"raw":raw},
method:"post"
};
var result = UrlFetchApp.fetch(RequestUrl,RequestArguments);
我的语法有什么问题?
在 Google Apps 脚本中,您可以使用 Advanced Gmail Service without needing to fuss with the Web API directly. Remember, the service must be enabled before use。
/**
* Send a raw RFC 2822 formatted and base64url encoded email
* using the Advanced Gmail service.
*
* From
*
* @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;
}
我找到了问题的解决方案:
var RequestArguments = {
headers: {Authorization: 'Bearer ' + token},
method: "post",
contentType: "application/json",
payload: JSON.stringify(jsonMessage)
};
jsonMessage 是整个消息,而不仅仅是原始部分!
我有一封原始电子邮件(在 playground 和工作中测试过),我想用 Google 的 Gmail API 从 Google Apps Script 发送它。
我找不到请求的正确语法:
var RequestUrl = "https://www.googleapis.com/gmail/v1/users/emailAccount/messages/send";
var RequestArguments = {
muteHttpExceptions:true,
headers: {Authorization: 'Bearer ' + token
'GData-Version': '3.0',
'Content-Type': "message/rfc822",
},
payload: {"raw":raw},
method:"post"
};
var result = UrlFetchApp.fetch(RequestUrl,RequestArguments);
我的语法有什么问题?
在 Google Apps 脚本中,您可以使用 Advanced Gmail Service without needing to fuss with the Web API directly. Remember, the service must be enabled before use。
/**
* Send a raw RFC 2822 formatted and base64url encoded email
* using the Advanced Gmail service.
*
* From
*
* @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;
}
我找到了问题的解决方案:
var RequestArguments = {
headers: {Authorization: 'Bearer ' + token},
method: "post",
contentType: "application/json",
payload: JSON.stringify(jsonMessage)
};
jsonMessage 是整个消息,而不仅仅是原始部分!