【GAS】Gメールの返信機能まとめ【サンプルソース付】

快速ワーク
スポンサーリンク

GAS開発者向けにGメールの返信機能をすべてまとめました。

あらかじめ準備しておいて、簡単に手早く返信できるようにしましょう。

検索に関するメソッドをすべて載せてます。少しでも参考になれば幸いです。


スポンサーリンク

Gメールメッセージクラス[GmailMessage]の返信

Gメールの返信メソッドです。

返信1[reply(本文)]

reply(body)
返信先アドレスを使用して、このメッセージの送信者に返信します。メールのサイズ(ヘッダーを含む)は制限されています。

function reply1Sample() {
  // メッセージの作成者に確認応答します
  var firstThread = GmailApp.getInboxThreads(0,1)[0];
  var message = firstThread.getMessages()[0];
  message.reply("Got your message");
}
Parameters
名前タイプ説明
bodyStringメールの本文。

Return
GmailMessage - 連携用のメッセージ

参照:Google Apps Script | REFERENCE | Gmail | Class GmailMessage | Methods | reply(body)

返信2[reply(本文, オプション)]

reply(body, options)
返信先アドレスとオプションの引数を使用して、このメッセージの送信者に返信します。

電子メールには、プレーンテキストとHTML本文の両方を含めることができます。メールのサイズ(ヘッダーを含む)は制限されています。

function replySample() {
  // HTML本文テキストで応答します
  var firstThread = GmailApp.getInboxThreads(0,1)[0];
  var message = firstThread.getMessages()[0];
  message.reply("incapable of HTML", {
    htmlBody: "some HTML body text",
    noReply: true
  });
}
Parameters
名前タイプ説明
bodyStringメールの本文。
optionsObject以下にリストされているように、拡張パラメーターを指定するJavaScriptオブジェクト。
Advanced parameters
名前タイプ説明
attachmentsBlobSource[]電子メールで送信するファイルの配列
bccStringBCCへの電子メールアドレスのコンマ区切りリスト
ccStringCCへの電子メールアドレスのコンマ区切りリスト
fromString電子メールの送信元アドレス。GmailApp.getAliases()によって返される値のいずれかである必要があります
htmlBodyString設定すると、HTMLをレンダリングできるデバイスは、必要なbody引数の代わりにHTMLを使用します。メールにインライン画像がある場合は、HTML本文にオプションのinlineImagesフィールドを追加できます
inlineImagesObject画像キー(String)から画像データ(BlobSource)へのマッピングを含むJavaScriptオブジェクト。これは、htmlBodyパラメーターが使用され、これらの画像への参照がの形式で含まれていることを前提としています
nameString電子メールの送信者の名前(デフォルト:ユーザーの名前)
noReplyBoolean受信者が電子メールに返信するのを阻止するために、一般的な返信なしの電子メールアドレスから電子メールを送信する必要がある場合はtrue。このオプションは、G Suiteアカウントでのみ使用でき、Gmailユーザーでは使用できません
replyToStringデフォルトの返信先アドレスとして使用するメールアドレス(デフォルト:ユーザーのメールアドレス)
subjectString電子メールの新しい件名

Return
GmailMessage - 連携用のメッセージ

参照:Google Apps Script | REFERENCE | Gmail | Class GmailMessage | Methods | reply(body, options)

全員に返信1[replyAll(本文)]

replyAll(body)
このメッセージの返信先アドレスとすべての受信者を使用して、送信者に返信します。メールのサイズ(ヘッダーを含む)は制限されています。

function replyAll1Sample() {
  // スレッド内の最後のメールのすべての受信者(bcc'dを除く)に確認応答します
  var firstThread = GmailApp.getInboxThreads(0,1)[0];
  var message = firstThread.getMessages()[0];
  message.replyAll("Got your message");
}
Parameters
名前タイプ説明
bodyStringメールの本文。

Return
GmailMessage - 連携用のメッセージ

参照:Google Apps Script | REFERENCE | Gmail | Class GmailMessage | Methods | replyAll(body)

全員に返信2[replyAll(本文, オプション's)]

replyAll(body, options)
返信先アドレスとすべての受信者をオプションの引数とともに使用して、このメッセージの送信者に返信します。

電子メールには、プレーンテキストとHTML本文の両方を含めることができます。メールのサイズ(ヘッダーを含む)は制限されています。

function replyAll2Sample() {
  // HTML本文テキストで応答します
  var firstThread = GmailApp.getInboxThreads(0,1)[0];
  var message = firstThread.getMessages[0];
  messageThread.replyAll("incapable of HTML", {
    htmlBody: "some HTML body text",
    noReply: true
  });
}
Parameters
名前タイプ説明
bodyStringメールの本文。
optionsObject以下にリストされているように、拡張パラメーターを指定するJavaScriptオブジェクト。
Advanced parameters
名前タイプ説明
attachmentsBlobSource[]電子メールで送信するファイルの配列
bccStringBCCへの電子メールアドレスのコンマ区切りリスト
ccStringCCへの電子メールアドレスのコンマ区切りリスト
fromString電子メールの送信元アドレス。GmailApp.getAliases()によって返される値のいずれかである必要があります
htmlBodyString設定すると、HTMLをレンダリングできるデバイスは、必要なbody引数の代わりにHTMLを使用します。メールにインライン画像がある場合は、HTML本文にオプションのinlineImagesフィールドを追加できます
inlineImagesObject画像キー(String)から画像データ(BlobSource)へのマッピングを含むJavaScriptオブジェクト。これは、htmlBodyパラメーターが使用され、これらの画像への参照がの形式で含まれていることを前提としています
nameString電子メールの送信者の名前(デフォルト:ユーザーの名前)
noReplyBoolean受信者が電子メールに返信するのを阻止するために、一般的な返信なしの電子メールアドレスから電子メールを送信する必要がある場合はtrue。このオプションは、G Suiteアカウントでのみ使用でき、Gmailユーザーでは使用できません
replyToStringデフォルトの返信先アドレスとして使用するメールアドレス(デフォルト:ユーザーのメールアドレス)
subjectString電子メールの新しい件名行(最大250文字)

Return
GmailMessage - 連携用のメッセージ

参照:Google Apps Script | REFERENCE | Gmail | Class GmailMessage | Methods | replyAll(body, options)

Gメールスレッドクラス[GmailThread]の返信

Gメールの返信メソッドです。

返信1[reply(本文)]

reply(body)
replyToアドレスを使用して、このスレッドの最後のメッセージの送信者に返信します。

電子メールの合計サイズ(すべてのヘッダーを含む)は20KBを超えないことに注意してください。

function reply1Sample() {
  // スレッドの最後のメールの作成者に確認応答します
  var firstThread = GmailApp.getInboxThreads(0,1)[0];
  firstThread.reply("Got your message");
}
Parameters
名前タイプ説明
bodyStringメールの本文

Return
GmailThread - 連携用のスレッド

参照:Google Apps Script | REFERENCE | Gmail | Class GmailThread | Methods | reply(body)

返信2[reply(本文, オプション)]

reply(body, options)
replyToアドレスとオプションの引数を使用して、このスレッドの最後のメッセージの送信者に返信します。電子メールには、プレーンテキストとHTML本文の両方を含めることができます。電子メールの合計サイズ(すべてのヘッダーを含むが、添付ファイルを除く)は20 KBを超えないことに注意してください。

function reply2Sample() {
  // HTML本文テキストで応答します。
  var firstThread = GmailApp.getInboxThreads(0,1)[0];
  firstThread.reply("incapable of HTML", {
    htmlBody: "some HTML body text",
    noReply: true
  });
}
Parameters
名前タイプ説明
bodyStringメールの本文
optionsObject以下にリストされているように、拡張パラメーターを指定するJavaScriptオブジェクト
Advanced parameters
名前タイプ説明
ccStringCCへの電子メールアドレスのコンマ区切りリスト
bccStringBCCへの電子メールアドレスのコンマ区切りリスト
htmlBodyString設定されている場合、HTMLをレンダリングできるデバイスは、必要なbody引数の代わりにHTMLを使用します。メールにインライン画像がある場合は、HTML本文にオプションのinlineImagesフィールドを追加できます
nameString電子メールの送信者の名前(デフォルト:ユーザーの名前)
fromString電子メールの送信元アドレス。GmailApp.getAliases()によって返される値のいずれかである必要があります
replyToStringデフォルトの返信先アドレスとして使用するメールアドレス(デフォルト:ユーザーのメールアドレス)
noReplyBoolean受信者が電子メールに返信するのを阻止するために、一般的な返信なしの電子メールアドレスから電子メールを送信する必要がある場合はtrue。このオプションは、G Suiteアカウントでのみ使用でき、Gmailユーザーでは使用できません
attachmentsBlobSource[]電子メールで送信するファイルの配列
inlineImagesObject画像キー(String)から画像データ(BlobSource)へのマッピングを含むJavaScriptオブジェクト。これは、htmlBodyパラメーターが使用され、これらの画像への参照がの形式で含まれていることを前提としています

Return
GmailThread - 連携用のスレッド

参照:Google Apps Script | REFERENCE | Gmail | Class GmailThread | Methods | reply(body, options)

全員に返信1[replyAll(本文)]

replyAll(body)
送信者(replyToアドレスを使用)、およびこのスレッドの最後のメッセージのすべての受信者に返信します。

電子メールの合計サイズ(すべてのヘッダーを含む)は20KBを超えないことに注意してください。

function replyAll1Sample() {
  // 受信ボックスの最初のスレッドへの確認応答ですべてに応答します
  var firstThread = GmailApp.getInboxThreads(0,1)[0];
  firstThread.replyAll("Got your message");
}
Parameters
名前タイプ説明
bodyStringメールの本文

Return
GmailThread - 連携用のスレッド

参照:Google Apps Script | REFERENCE | Gmail | Class GmailThread | Methods | replyAll(body)

全員に返信2[replyAll(本文, オプション's)]

replyAll(body, options)
送信者(replyToアドレスを使用)およびこのスレッドの最後のメッセージのすべての受信者に、オプションの引数を付けて返信します。電子メールには、プレーンテキストとHTML本文の両方を含めることができます。電子メールの合計サイズ(すべてのヘッダーを含むが、添付ファイルを除く)は20 KBを超えないことに注意してください。

function replyAll2Sample() {
  // HTML本文テキストで応答します。
  var firstThread = GmailApp.getInboxThreads(0,1)[0];
  firstThread.replyAll("incapable of HTML", {
    htmlBody: "some HTML body text",
    noReply: true
  });
}
Parameters
名前タイプ説明
bodyStringメールの本文
optionsObject以下にリストされているように、拡張パラメーターを指定するJavaScriptオブジェクト
Advanced parameters
名前タイプ説明
ccStringCCへの電子メールアドレスのコンマ区切りリスト
bccStringBCCへの電子メールアドレスのコンマ区切りリスト
htmlBodyString設定されている場合、HTMLをレンダリングできるデバイスは、必要なbody引数の代わりにHTMLを使用します。メールにインライン画像がある場合は、HTML本文にオプションのinlineImagesフィールドを追加できます
nameString電子メールの送信者の名前(デフォルト:ユーザーの名前)
fromString電子メールの送信元アドレス。GmailApp.getAliases()によって返される値のいずれかである必要があります
replyToStringデフォルトの返信先アドレスとして使用するメールアドレス(デフォルト:ユーザーのメールアドレス)
noReplyBoolean受信者が電子メールに返信するのを阻止するために、一般的な返信なしの電子メールアドレスから電子メールを送信する必要がある場合はtrue。このオプションは、G Suiteアカウントでのみ使用でき、Gmailユーザーでは使用できません
attachmentsBlobSource[]電子メールで送信するファイルの配列
inlineImagesObject画像キー(String)から画像データ(BlobSource)へのマッピングを含むJavaScriptオブジェクト。これは、htmlBodyパラメーターが使用され、これらの画像への参照がの形式で含まれていることを前提としています

Return
GmailThread - 連携用のスレッド

参照:Google Apps Script | REFERENCE | Gmail | Class GmailThread | Methods | replyAll(body, options)

最後に

Gメールの返信機能のまとめをご紹介させていただきました.

スプレッドシートと組み合わせるとさらに効果的です。

必要に応じて、有益な情報でさらに更新していきたいと思います。

プログラミングスキルを向上させるためには、本を読むだけでは脳にインプットされませんね。

実際に手を動かしてアウトプットしまくるのが一番の近道だと思います。

実際にサンプルソースをコピーして実行した結果がどうなるかを体験してみてください。

自分なりのアレンジを加えたり、なぜエラーになるのかを考え、何度も試行錯誤して問題を解決しまくり、着実に理解しながらスキルを向上させていきましょう。

GASはExcelVBAとはかなり違いますが、ベースとなっているJavaScriptは覚えて損はないプログラミング言語なのでショートカットキーなどと組み合わせてぜひ活用してみてください。

Googleスプレッドシート全ショートカットキー一覧はこちら↓↓↓

Googleスプレッドシートの使い方や機能がわかるショートカットキー全まとめ一覧【初心者こそ必見】
表計算ソフトとして、まだまだExcelのシェア率は高いですが、GoogleスプレッドシートにはExcelにはない超強力な関数があったり、Excelとは違って常に最新版を無料で使用できます。なにより、インターネットを使ったオンライン...

ショートカットキー一覧にもGASメソッドを載せています。どの操作からどのメソッドが呼ばれるのかイメージしてください。




快速ワーク
スポンサーリンク
スポンサーリンク
快 ブログ

コメント

//▼2023/04/08追加 //https://lovagelab.com/posts/3406/ //▲2023/04/08追加