如何获取发件人的电子邮件地址

3

我需要生成一份关于邮件列表和发件人的报告,我可以提取邮件主题,但不知道如何获取每封信件的发件人地址,报告显示如下:

主题:你好 发件人:frank@gmail.com

主题:你的篮子 发件人:jerry@facebook.com

  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 = "example@email.com" ;
      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

您提供的代码并不能产生您所提供的输出结果。话虽如此,我认为 patto_chennai 已经回答了您的问题,尽管我们中没有人确定问题是什么。 - mzimmerman
4个回答

6
如果我理解你要做什么,那么我认为你可以从线程中获取消息,然后从消息中获取发送者。
var threads = GmailApp.getInboxThreads();
var messages = threads[0].getMessages();
var senderEmail = messages[0].getFrom();

谢谢您的回复,我考虑了一下并意识到如何在脚本中使用这个方法。 - Tremere

0

0
var label = GmailApp.getUserLabelByName('inbox');
var threads = label.getThreads();


for(i in threads)
{

  threads[i].getMessages()[0].getFrom()

}

-1

出于安全原因,如果您使用的是消费者版 Google 帐户,则无法使用 Session.getActiveUser().getEmail() 获取电子邮件。仅当脚本归属于 Google 应用用户并且访问者属于同一域时才有效。

但是,您可以尝试此处提到的方法


谢谢,我只需要读取我的邮件收件箱中发件人的地址 :) - Tremere

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接