2

メッセージのリストと手紙の送信者に関するレポートを生成する必要があります。手紙のテーマを抽出できますが、各手紙の送信者のアドレスを取得する方法がわかりません。レポートは次のようになりました。

トピック: こんにちは 差出人: 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. メール認証 - スタック オーバーフロー from: スタック オーバーフロー
  2. プロジェクトの更新 #10: Double Fine と 2 Player Productions による Double Fine Adventure (Kickstarter から)
4

4 に答える 4

5

あなたが何をしようとしているのか理解できれば、スレッドからメッセージを取得し、メッセージから送信者を取得できると思います

var threads = GmailApp.getInboxThreads();
var messages = threads[0].getMessages();
var senderEmail = messages[0].getFrom();
于 2012-07-02T16:13:56.350 に答える
0

oauthScopes.(appscript.json ファイル)に「 https://www.googleapis.com/auth/userinfo.email 」を追加する必要があります。

このリンクで詳細を取得できます ここにリンクの説明を入力してください

于 2018-01-10T12:24:19.693 に答える
-1

Session.getActiveUser().getEmail()セキュリティ上の理由から、一般ユーザー向けの Google アカウントを使用している場合、メールを受け取ることはできません。スクリプトが Google Apps ユーザーによって所有され、訪問者が同じドメインに属している場合にのみ機能します。

ただし、ここに記載されていることを試すことができます

于 2012-07-02T16:12:26.430 に答える