如何在Gmail中发送邮件之前或之后获取邮件ID?

时间:2017-09-07 12:58:05

标签: email google-chrome-extension gmail messageid

我正在开发适用于Gmail的Chrome扩展程序。 我希望在发送电子邮件之前或发送电子邮件之后在我的扩展程序中获取“消息ID”。我怎样才能实现它?

Gmail中如何生成邮件ID?

是在发送电子邮件之前还是以后生成的?

注意:我没有覆盖电子邮件功能。在Gmail中发送电子邮件时,我只需要唯一的emailID。

我想在请求中将此电子邮件ID传递给Gmail API,以便我可以将电子邮件数据作为回复。

1 个答案:

答案 0 :(得分:0)

根据我的经验,它是在发送电子邮件后创建的。您可以注意到,如果有草稿消息,则会有一个ID,但一旦发送,此ID将转换为其messageID(不同的值),您可以使用该消息在收件箱中进行搜索。您可以查看此related SO post,其中介绍了messageID和draftID之间的区别。例如,使用Mogzdad's code的Apps脚本中的Gmail API advance Service代码段会在发送电子邮件后返回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;
}

希望这有帮助。