我正在为 Gmail 开发 Chrome 扩展程序。我想在发送电子邮件之前或发送电子邮件之后在我的分机中获取“消息 ID”。我怎样才能实现它?
Gmail 中的邮件 ID 是如何生成的?
它是在发送电子邮件之前还是之后生成的?
注意:我没有覆盖电子邮件功能。在 Gmail 中发送电子邮件时,我只需要唯一的 emailID。
我想将此电子邮件 ID 在请求中传递给 Gmail API,以便我可以获取电子邮件数据作为响应。
我正在为 Gmail 开发 Chrome 扩展程序。我想在发送电子邮件之前或发送电子邮件之后在我的分机中获取“消息 ID”。我怎样才能实现它?
Gmail 中的邮件 ID 是如何生成的?
它是在发送电子邮件之前还是之后生成的?
注意:我没有覆盖电子邮件功能。在 Gmail 中发送电子邮件时,我只需要唯一的 emailID。
我想将此电子邮件 ID 在请求中传递给 Gmail API,以便我可以获取电子邮件数据作为响应。
根据我的经验,它是在发送电子邮件后创建的。您会注意到,如果有草稿消息,则有一个 ID,但是一旦发送,此 ID 将转换为其 messageID(不同的值),您可以使用它在收件箱中进行搜索。您可以查看这个相关的 SO 帖子,其中讨论了 messageID 和 draftID 之间的区别。例如,Mogzdad在 Apps Script 中使用Gmail API 高级服务的代码片段在发送电子邮件后返回 id。
/**
* 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;
}
希望这可以帮助。