何をやりたいか

やりたいこと:任意の団体から送られてくるメールに対し、自動で指定した宛先に転送する。

事前準備

処理前の準備:①Gメールの設定で【要転送】と【転送済】のラベルを作成しておく。
       ②転送したいGメールを開き、転送したいスレッドに対して手動で【要転送】のラベルを付加する。

GASスクリプト材料

結果は?

GAS の処理後:【要転送】のラベルが付いたスレッドに対し、【転送済】のラベルに変更する。

CHAT GPTへのプロンプト

CHAT GPTはプロンプトが大切です。プロンプトしだいでは、希望とする回答が得られないこともあります。
細かく丁寧な指示の出し方で期待通りの回答が返ってきます。
このようにプロンプトを入力しました。

あなたはプロの優秀なGASのプログラマーです。
以下の仕様に従って分かりやすいプログラムコードで「生成や修正」などをしてください。
また、そのコードを実行するのに必要なライブラリがあれば、その導入方法も詳しく教えてください。
GASのコードを生成する際、処理のコメント行もシンプルな表現の仕方で追記してください。
コードの解説の際は、常に日本語でお願いします。
仕様1:以下の処理をGASのコードとして生成してください。
①転送したいGメールに手動で【要転送】のラベルを付加する。
③GASの処理として、【要転送】のラベルが付いたスレッドを以下に指定したメールアドレス(3件)に転送したら、【要転送】のラベルを【転送済】のラベルに付け替える。
④指定したメールアドレスは、以下のとおりとする。
aaa@gmail.com
bbb@gmail.com
ccc@gmail.com

CHAT GPTの回答

// GASのスクリプトコード 2024/07/05 by あさまいCTS//
// スクリプト実行時で、1日に送信できるメール数の上限がありますので、コードの記述の際は注意が必要です無料プランは100通です //
// https://zenn.dev/gas/articles/7b8bf039ff0186 //

function forwardLabeledEmails() {
  // ラベル名
  var labelToForward = "要転送";
  var labelForwarded = "転送済";

  // 転送先のメールアドレスリスト
  var forwardAddresses = [
    "fight.01.k@gmail.com", "asamai.cts@gmail.com"
  ];

  // ラベルを取得
  var label = GmailApp.getUserLabelByName(labelToForward);
  var forwardedLabel = GmailApp.getUserLabelByName(labelForwarded);

  // ラベルが付いているスレッドを取得
  var threads = label.getThreads();
  
  // 各スレッドを処理
  for (var i = 0; i < threads.length; i++) {
    var thread = threads[i];
    var messages = thread.getMessages();
    
    // 各メッセージを転送
    for (var j = 0; j < messages.length; j++) {
      var message = messages[j];
      for (var k = 0; k < forwardAddresses.length; k++) {
        message.forward(forwardAddresses[k]);
      }
    }

    // 転送済みラベルを付加
    thread.addLabel(forwardedLabel);
    // 要転送ラベルを削除
    thread.removeLabel(label);
  }
}

実効時の注意点

コードの記述エラーが出た場合、修正後に下記のようなエラーが表示されたりします。
ReferenceError: recipient is not defined
forwardLabeledEmails @ コード.gs:xxxx
これは、1日に送信できるメール数の上限がありますので、コードの記述ミスなどにより送信がroopにはまってしまい、エラーを拾ってしまいます。
コードの記述の際は注意が必要です。
無料プランはスクリプトからの送信件数は100通までという仕様でした。

修正版を投稿してありますので、そちらもご確認ください。
https://asamai-cts.jp/chatgpt-and-gas2/

投稿者プロフィール

近江公人
近江公人
asamai-cts Owner
あさまいCTSの代表オヤジです(2024年現在=63歳)
横手市中央町で「ラーメン与市」を2012年まで約15年間を経営。
その後、「横手市雇用創出協議会 実践支援員」を経て、一時会社勤めをするが再度、自営業の世界に戻る。
現在の「あさまいCTS」は2019年1月に起業。業務内容は主に、パソコンの修理、出張スマホ・パソコン教室、ホームページ作成 その他 何でも屋みたいなものです・・・

Follow me!