Скрипт Google Apps: цитирование предыдущей ветки сообщений при ответе на сообщение Gmail - PullRequest
2 голосов
/ 20 апреля 2020

Я использую Google Apps Script для составления ответов на сообщения Gmail.

function reply(messageId) {
  var message = GmailApp.getMessageById(messageId);
  message.reply("Thanks for the message!");
}

Довольно просто.

За исключением того, что я хочу процитировать всю предыдущую ветку сообщений, как это обычно бывает когда вы нажмете «Ответить» в своем почтовом клиенте.

Я бы хотел, чтобы цитируемые темы отображались с отступом, как ваш почтовый клиент.

Есть предложения?

Спасибо !

1 Ответ

2 голосов
/ 20 апреля 2020
  • Вы хотите ответить на сообщение электронной почты, добавив в качестве цитаты текст message из var message = GmailApp.getMessageById(messageId);.

Если мое понимание верно, как насчет этого ответа ?

Проблема и обходное решение:

К сожалению, на данном этапе нет встроенного метода для прямого ответа на электронное письмо путем добавления предыдущего сообщения в качестве цитаты. Таким образом, в этом ответе, простом методе, я хотел бы предложить получить предыдущее тело сообщения и добавить ответное электронное письмо в качестве цитаты.

Модифицированный скрипт:

Когда ваш скрипт модифицирован, это становится следующим.

function reply(messageId) {
  var message = GmailApp.getMessageById(messageId);

  // I added the following script.
  const newMessage = "Thanks for the message!";
  const replyMessage = message.getPlainBody().split("\n").reduce((s, e) => (s += `> ${e}\n`)
  , `${newMessage}\n\n${message.getDate().toISOString()} ${message.getFrom()} wrote:\n\n`);
  message.reply(replyMessage);
}

Примечание:

  • В этой модификации используется текстовое тело.
  • А также, в качестве примера, дата типа ISO 8601 используется в качестве даты предыдущего сообщения. Поэтому, если вы хотите использовать другой формат даты, пожалуйста, измените для вашей реальной ситуации.
  • Пожалуйста, используйте этот измененный скрипт с включением V8.

Ссылки:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...