GmailDraft.send () изменяет идентификатор сообщения: как это переопределить? - PullRequest
0 голосов
/ 29 ноября 2018

Идентификатор сообщения изменяется при отправке черновика, как показано в приведенном ниже коде.

// 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);

Существует ли способ переопределить это (сохранить тот же идентификатор сообщения) в двух сценариях:

  • Сценарий 1: при программной отправке электронной почты, как указано выше?
  • Scanerio 2: при отправке черновика (сгенерированного с кодом, как указано выше) вручную, нажав «отправить» на моей странице Gmail?

Суть заключается в том, чтобы найти электронную почту, сгенерированную в моем коде (и отправленную сразу или позже, вручную), в другой функции.Я думал, что Message ID будет хорошим трекером;но если вышеперечисленное кажется слишком сложным, есть ли лучший способ найти конкретное письмо, сгенерированное в коде позже?

Заранее большое спасибо!

1 Ответ

0 голосов
/ 03 декабря 2018

Я нашел простой обходной путь: использование идентификатора потока: var threadId = message.getThread().getId();

Идентификатор потока данного черновика и идентификатор потока сообщения, сгенерированного после отправки этого черновика, абсолютно одинаковы.Так что это «хороший трекер», который я искал.

Конечно, это не дает прямого ответа на исходный вопрос поста, но позволяет мне делать все, что я хотел сделать (найти конкретное письмо, сгенерированное в коде).позже).

...