Gmailからのメール取得
この記事では、GmailGetを使ってGmailから任意のメールを取得する方法について紹介します。
Gmailの仕様上、無料のGoogleアカウントでは「GmailGet」アクションはお使いいただけません。
Google Workspaceアカウントでご利用ください。
「GmailGet」Gmailを取得する
デフォルトの設定では、取得メールは以下を含みます。
・自分が送信したメール
・他のアカウントと連携する設定をしていた場合、そのアカウント宛のメール
(参考:Googleヘルプページ-他のアカウントのメールを確認する)
自分のアカウントの受信メールに絞ってメールを取得したい場合、
「設定時のQ&A」の「1.取得するメールを絞り込みたい」をご参照ください。
設定時のQ&A
「クエリを入力(query)」でクエリ(検索条件)を設定します。
クエリはGmailの手動検索で使うものと同じです。
条件ごとのクエリの書き方は以下のページをご参照ください。
https://support.google.com/mail/answer/7190?hl=ja
作成したクエリは、自分のGmailページで検証できます。
クエリ設定例
クエリ設定は以下のようになります。
・件名に「株式会社○○」を含む未読メール subject:株式会社○○ is:unread ・差出人のアドレスに@autoro.ioを含む (オートロ社員からのメールである) from:@autoro.io ・自分の送信メール(例:sample@autoro.io)を省く from:-sample@autoro.io ・宛先が特定のアドレス(例:sample@autoro.ioである (他のアカウントからの転送メールやCCメールを省く時) to:sample@autoro.io ・差出人の名前に「太郎」もしくは「花子」が含まれる from:花子 OR from:太郎 ・2021/04/01のメール (04/01以降、かつ04/02より前に来たメール) after:2021/04/01 before:2021/04/02
時間単位のメール絞り込み設定方法
例えば直近30分以内のメールに絞って取得したい時、
「after 2021/04/01 14:30:00」といった形の指定はできません。
代わりに、UNIX時間というものを使って時間を指定します。
UNIX時間とは、「1970年1月1日午前0時(UTC)」からの経過秒数によって表される時間の単位です。
例えば日本時間で「2021/04/01 12:00:00」はUNIX時間で「1617246000」となります。
実行ごとに変動する数値になりますので、以下のような計算式で設定を行います。
設定例(30分前からのメールを取得)
①UNIX時間の計算
StoreValueアクションを使って設定します。
変数名は任意の文字列で構いません。
値は以下の通りです。
${moment().utcOffset('540').subtract(30,'minute').unix()}
(ここで使っているのはMoment.jsという時間計算のためのスクリプトです。
現在時を基準にして、任意の時間を取得できます。
こちらで説明しておりますので、ご参照ください。)
②GmailGetの設定
StoreValueアクションで保存した変数を使って、時間を設定します。
通常のクエリ設定と同様、「after:」を使って「30分前」を表現します。
GmailGetと併せて、
「GmailGetAttachments(添付ファイルをダウンロード)」アクションの設定が必要です。
こちらで設定方法を紹介しているので、ご確認ください。
ワークフローの設定例
例えば次の条件でメールを1件に絞り込んで、
そのメールの本文を確認したい場合、
以下のように設定します。
【条件】
クエリ:
・件名に「オートロ株式会社」を含む
・未読メール
・「資料請求」ラベルのメール
取得件数:10
# Gmailを取得 +gmail_get_1: action>: GmailGet query: 'subject:オートロ株式会社 is:unread label:資料請求' provider: '' limit: 10 private: false meta: display: provider: type: chip label: 'Gmail for Google Workspace (xxxxx@xxxx)' icon: gsmail # リストから要素を取得 +get_item_from_list_1: action>: GetItemFromList list: +gmail_get_1 index: '0' private: false # オブジェクトのキーの値を取得 +get_value_with_key_1: action>: GetValueWithKey object: +get_item_from_list_1 key: body private: false
googleworkspace メール