GmailScript

【GAS】Gmailの本文をテキストで取得する方法

getPlainBodyメソッド – GASでGmailの本文をテキストで取得する

Gmailの本文を取得するにはメッセージオブジェクトのgetPlainBodyメソッドを使います。

ただし、メッセージオブジェクトの取得の方法がいくつかあります。結論から言うと、2つ目に紹介するsearchメソッドを使うのが一般的には使いやすいと思われます。

受信箱のすべてのスレッドを取得して指定する

const getGmailText = () => {
  const gmailApp = GmailApp
  const firstThread = gmailApp.getInboxThreads()[0]
  const firstMessage = firstThread.getMessages()[0]
  const firstMessagePlainBody = firstMessage.getPlainBody()
  console.log(firstMessagePlainBody)
}


最初に受信箱のすべてのスレッドをスレッドオブジェクトの配列として取得します。

次にスレッドオブジェクト配列の1番目の中にあるメッセージオブジェクト配列の1番目にあるメッセージオブジェクトから本文を取得しています。


実行結果


スレッドオブジェクトの配列が何なのかわからない人向け

受信箱のメールを検索する

const getGmailText = () => {
  const gmailApp = GmailApp
  const searchedThreads = gmailApp.search('from: no-reply@accounts.google.com subject: セキュリティ通知 after:2024/03/08')
  const searchedFirstThread = searchedThreads[0]
  const firstMessage = searchedFirstThread.getMessages()[0]
  const firstMessageText = firstMessage.getPlainBody()
  console.log(firstMessageText)
}


受信箱にあるスレッドの検索結果の1番目の中にあるメッセージオブジェクト配列の1番目にあるメッセージオブジェクトから本文を取得しています。

検索条件

  • 送信者:no-reply@accounts.google.com
  • 件名:セキュリティ通知
  • 日時:2024年3月8日以降


実行結果


GASでGmailに送られてきた特定のメールを取得して処理をするときはsearchメソッドを使って検索しておけば大体うまくいきます。

Copied title and URL