Open1

GASでGmailを操作する

yuyu

対象のメールアドレスからの受信メッセージのみ、引用して自動返信するスクリプトの例


function mainFunction() {
  deleteAndRespondToEmails()
}

function makeReturnMessage(contentMsg) {
  var customMessage = 'Hello World'; // 追記メッセージ文
  return `受信メッセージ内容:
Subject:
${contentMsg.getSubject()}

Body:
${contentMsg.getBody()}

----------------

CustomMessage:
${customMessage}
`;
}

function deleteAndRespondToEmails() {
  var thread, i, j;
  var targetEmail = "target.example@gmail.com"; // 対象メールアドレス
  var myEmail = "me.example@gmail.com"; // 自分のメールアドレス

  var reTitle = "自動応答";

  // 受信メールを検索
  var threads = GmailApp.search(`from:${targetEmail}  is:unread`);

  for (i in threads) {
    thread = threads[i];
    if (thread.isInInbox()) {  // 受信トレイにある場合のみ処理
      var messages = thread.getMessages();
      for (j in messages) {
        var msg = messages[j];
        if (msg.getFrom() == targetEmail) {
          // メールを削除
          msg.moveToTrash();

          var reMessage = makeReturnMessage(msg);

          // 返信メールを作成
          var reply = GmailApp.createDraft(targetEmail, reTitle, reMessage, {
            cc: "",
            bcc: "",
            name: "自動応答",
            from: myEmail
          });

          // メール送信
          reply.send();
        }
      }
    }
  }
}