send()更改消息ID:如何覆盖它



当我发送草稿时,消息ID会发生更改,如下代码所示。

// make draft
var draft = GmailApp.createDraft("test@gmail.com", "Email Subject", "Email Body");
var draftId = draft.getMessage().getId();
// send draft
var message = draft.send();
var messageId = message.getId();
// this returns 'false'
Logger.log(draftId == messageId);

有没有办法在两种情况下覆盖这一点(保持相同的消息ID(:

  • 场景1:如上所述以编程方式发送电子邮件时
  • Scanerio 2:当通过点击我的gmail页面上的"发送"手动发送草稿(用上面的代码生成(时

关键是能够在另一个函数中找到在我的代码中生成的电子邮件(并立即或稍后手动发送(。我认为Message ID将是一个很好的跟踪器;但是,如果以上内容看起来太难了,有没有更好的方法可以在以后找到代码中生成的特定电子邮件?

提前感谢!

我找到了一个简单的解决方法:使用线程ID:var threadId = message.getThread().getId();

给定草稿的线程ID和发送该草稿后生成的消息的线程ID完全相同。这就是我一直在寻找的"好追踪器"。

当然,这并不能直接回答帖子最初的问题,但它允许我做我想做的一切(稍后找到代码中生成的特定电子邮件(。

最新更新