Сценарий приложений Gmail редактирует тело перед пересылкой - PullRequest
0 голосов
/ 22 января 2020

Я использую скрипт приложений Gmail для пересылки писем с определенной меткой ... Но я бы хотел отредактировать текст сообщения перед пересылкой.

function fwdFB(){


var label = GmailApp.getUserLabelByName('fb');
  var threads = label.getThreads();
  for(var m in threads){
    var messages = threads[m].getMessages();
    for(var y in messages){ messages[y].forward('w@yahoo.com',{from:'webmaster@gmail.com'}) }
    threads[m].moveToTrash();
  }
}

Мне неясно, как вставить метод getBody() для редактирования сообщения. (В частности, я хочу удалить определенный фрагмент HTML из сообщения. Это один и тот же фрагмент в каждом сообщении.)

1 Ответ

0 голосов
/ 22 января 2020

Опции forward(recipient, options) не предлагают конечную точку для изменения тела сообщения. Вместо этого вам придется сделать это вручную, отправив сообщение после изменения тела по своему усмотрению.

Пример:

function fwdFB(){
var label = GmailApp.getUserLabelByName('fb');
  var threads = label.getThreads();
  for(var m in threads){
    var messages = threads[m].getMessages();
    for(var y in messages){ 
     var oldBody = messages[y].getBody();
     var newBody = oldBody.substring(1, 10)+" PS: This is a modification."
     var oldSubject = messages[y].getSubject();
      var newSubject = "Fwd: "+ oldSubject; 
      GmailApp.sendEmail('w@yahoo.com', newSubject, newBody, {from:'webmaster@gmail.com'})
    }
    threads[m].moveToTrash();
  }
}

ОБНОВЛЕНИЕ

Если для вас важно сохранить историю сообщений, вам необходимо выполнить дополнительные шаги для создания цепочки сообщений. @tehhowch предоставляет хороший пример того, как это сделать.

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