как получить адрес электронной почты отправителя

Мне нужно сформировать отчет по списку сообщений и отправителю письма, я могу извлечь тему писем, но не понимая, как получить адрес отправителя для каждого письма, отчет получился таким:

Тема: привет От: [email protected]

тема: ваша корзина от: [email protected]

  function myFunction() {
      var emailAddress = Session.getActiveUser().getEmail();
      var threads = GmailApp.getInboxThreads();


      var output = ContentService.createTextOutput();
      for (var i = 0; i < threads.length; i++) {
        output.append(threads[i].getFirstMessageSubject()+" from:"+'\n');
      }


      GmailApp.sendEmail(emailAddress,"Mail Report", output.getContent()

        );
    }

ОБНОВЛЕНИЕ

Спасибо за ответы, решение было простым

   function myFunction() {
      var emailAddress = "[email protected]" ;
      var threads = GmailApp.getInboxThreads();

      var messages = threads[0].getMessages();
      var senderEmail = messages[0].getFrom();


      var output = ContentService.createTextOutput();
      for (var i = 0; i < threads.length; i++) {
        messages = threads[i].getMessages()
        senderEmail = messages[0].getFrom();
        output.append(i + ".  " + threads[i].getFirstMessageSubject()+"   from:"+ senderEmail + '\n');
      }


      GmailApp.sendEmail(emailAddress,"Mail Report", output.getContent()

        );
    }

Пример результата:

  1. Проверка электронной почты - Stack Overflow на русском
  2. Обновление проекта № 10: Double Fine Adventure от Double Fine и 2 Player Productions с: Kickstarter

person Tremere    schedule 02.07.2012    source источник
comment
Предоставленный вами код не дает того результата, который вы предоставили. При этом я думаю, что patto_chennai ответил на ваш вопрос, хотя я не уверен, что кто-то из нас уверен, в чем заключается вопрос.   -  person mzimmerman    schedule 02.07.2012


Ответы (3)


Если я понимаю, что вы хотите сделать, то я считаю, что вы могли бы получить сообщения из потока, а затем отправителя из сообщения

var threads = GmailApp.getInboxThreads();
var messages = threads[0].getMessages();
var senderEmail = messages[0].getFrom();
person patto_chennai    schedule 02.07.2012
comment
Спасибо за ответ, я подумал и понял, как использовать этот метод в скрипте - person Tremere; 02.07.2012

Вам нужно добавить "https://www.googleapis.com/auth/userinfo.email" в oauthScopes.(файл appscript.json)

вы можете получить более подробную информацию по этой ссылке введите описание ссылки здесь

person Sanjib Debnath    schedule 10.01.2018

Из соображений безопасности вы не можете получить электронное письмо с помощью Session.getActiveUser().getEmail(), если вы используете потребительскую учетную запись Google. Он работает только тогда, когда скрипт принадлежит пользователю Google Apps, а посетитель принадлежит к тому же домену.

Однако вы можете попробовать упомянутое здесь< /а>

person Srik    schedule 02.07.2012
comment
Спасибо, просто надо было прочитать адреса отправителей в папке "Входящие" моей почты :) - person Tremere; 02.07.2012