Пересылка электронной почты в виде вложения (через скрипт-приложения) приводит к пустому вложению в почтовом ящике назначения - PullRequest
0 голосов
/ 12 июня 2018

Насколько я смог переслать помеченное электронное письмо как вложение:

function myFunction() {
  var aLabel = GmailApp.getUserLabelByName("A-LABEL");
  aLabel.getThreads().forEach(function(thread) {
      thread.getMessages().forEach(function(msg) {
          var file = DriveApp.createFile('~myfile.txt', msg.getRawContent(), 'message/rfc822');
          var msg2 = GmailApp.createDraft("me@outlook.com", "Test", "See Attached", {attachments: [file]});
          msg2.send();
          DriveApp.removeFile(file);
      })
      thread.removeLabel(aLabel);
  })
}

Вложение в системе получения электронной почты пустое, и я не знаю, почему.

Я пытаюсь это сделать, потому что обычный .forward() меняет заголовок From:.Что ж, это происходит в apps-script, поскольку фильтрация в обычном веб-интерфейсе Gmail не выполняется, но мне нужно переслать, а затем удалить, что не работает.

По предложению Гильерма М:

Комментируя строку DriveApp.removeFile(file), я вижу правильный файл на диске, но не могу понять, почему в полученном электронном письме нет этого вложения.На самом деле вместо него Content-Type: text/plain\nMIME-Version: 1.0.

1 Ответ

0 голосов
/ 18 июня 2018

Что ж, получается, что Outlook.com не любит вложения 'message / rfc822' и нейтрализует их в текстовый / обычный текст без содержимого.По крайней мере, это делается для электронной почты из приложения-скриптов Gmail.Если я изменю тип MIME на «text / plain», тогда все будет работать как положено.

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