【问题标题】:how to get the email adress of the sender如何获取发件人的电子邮件地址
【发布时间】:2012-07-02 16:01:37
【问题描述】:

我需要生成一个关于邮件列表和发件人的报告,我可以提取信件的主题,但不明白如何获取每封信的发件人地址,报告结果是:

主题:你好来自: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 来自:Stack Overflow
  2. 项目更新 #10:Double Fine Adventure 和 2 Player Productions 来自:Kickstarter

【问题讨论】:

  • 您提供的代码不会产生您提供的输出。话虽这么说,我认为 patto_chennai 已经回答了你的问题,尽管我不确定我们中的任何人都确定问题是什么。

标签: email google-apps-script sender


【解决方案1】:

如果我了解您要做什么,那么我相信您可以从线程中获取消息,然后从消息中获取发件人

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

【讨论】:

  • 谢谢你的回复,我想了想,意识到如何在脚本中使用这个方法
【解决方案2】:
var label = GmailApp.getUserLabelByName('inbox');
var threads = label.getThreads();


for(i in threads)
{

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

}

【讨论】:

    【解决方案3】:

    您需要添加 "https://www.googleapis.com/auth/userinfo.email" 在 oauthScopes 中。(appscript.json 文件)

    您可以在此链接中获取更多详细信息 enter link description here

    【讨论】:

      【解决方案4】:

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

      不过,你可以试试here提到的内容

      【讨论】:

      • 谢谢,我只需要阅读邮件收件箱中的发件人地址即可:)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-24
      相关资源
      最近更新 更多