メール

メールコネクタを使用すると、IMAP データベースに対して、挿入、削除、更新、読み取りオペレーションを実行できます。

始める前に

メールコネクタを使用する前に、次の作業を行います。

  • Google Cloud プロジェクトで次の操作を行います。
    • コネクタを構成するユーザーに roles/connectors.admin IAM ロールを付与します。
    • コネクタに使用するサービス アカウントに、次の IAM ロールを付与します。
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor

      サービス アカウントは特別なタイプの Google アカウントで、Google API のデータにアクセスするのに認証を受ける必要がある人間以外のユーザーを表します。サービス アカウントがない場合は、サービス アカウントを作成する必要があります。詳細については、サービス アカウントを作成するをご覧ください。

    • 次のサービスを有効にします。
      • secretmanager.googleapis.com(Secret Manager API)
      • connectors.googleapis.com(Connectors API)

      サービスを有効にする方法については、サービスを有効にするをご覧ください。

    以前にプロジェクトでこうしたサービスを有効にしていない場合は、コネクタを構成するときにそれを有効にすることを求められます。

コネクタを構成する

コネクタを構成するには、データソース(バックエンド システム)への接続を作成する必要があります。接続はデータソースに特有です。つまり、多数のデータソースがある場合は、データソースごとに別々の接続を作成する必要があります。接続を作成する手順は次のとおりです。

  1. Cloud コンソールで、[Integration Connectors] > [接続] ページに移動し、Google Cloud プロジェクトを選択または作成します。

    [接続] ページに移動

  2. [+ 新規作成] をクリックして [接続の作成] ページを開きます。
  3. [ロケーション] セクションで、接続のロケーションを選択します。
    1. リージョン: プルダウン リストからロケーションを選択します

      サポートされているすべてのリージョンの一覧については、ロケーションをご覧ください。

    2. [次へ] をクリックします。
  4. [接続の詳細] セクションで、次の操作を行います。
    1. コネクタ: 使用可能なコネクタのプルダウン リストから [メール] を選択します。
    2. コネクタのバージョン: 使用可能なバージョンのプルダウン リストからコネクタのバージョンを選択します。
    3. [接続名] フィールドに、接続インスタンスの名前を入力します。

      接続名は次の条件を満たす必要があります。

      • 接続名には英字、数字、ハイフンを使用できます。
      • 文字は小文字のみを使用できます。
      • 接続名の先頭には英字を設定し、末尾には英字または数字を設定する必要があります。
      • 接続名は 63 文字以内で指定してください。
    4. (省略可)説明文: 接続の説明を入力します。
    5. (省略可)Cloud Logging を有効にする: 接続のすべてのログデータを保存するには、このチェックボックスをオンにします。
    6. サービス アカウント: 必要なロールを持つサービス アカウントを選択します。
    7. プロトコル: 接続先のメールサーバーの種類。有効な値は IMAPPOP です。
    8. 詳細レベル: このフィールドは、ログファイルに含める詳細情報の量を決定します。有効な値の範囲は 1 ~ 5 です。詳細レベルが高いほど、リクエスト、レスポンス、SSL 証明書を含むすべての通信の詳細がログに記録されます。
    9. 必要に応じて、接続ノードの設定を構成します。

      • ノードの最小数: 接続ノードの最小数を入力します。
      • ノードの最大数: 接続ノードの最大数を入力します。

      ノードは、トランザクションを処理する接続の単位(またはレプリカ)です。1 つの接続でより多くのトランザクションを処理するには、より多くのノードが必要になります。逆に、より少ないトランザクションを処理するには、より少ないノードが必要になります。ノードがコネクタの料金に与える影響については、接続ノードの料金をご覧ください。値を入力しない場合は、デフォルトで最小ノード数は 2 に設定され(可用性を高めるため)、最大ノード数は 50 に設定されます。

    10. Use proxy: このチェックボックスを選択して、接続用のプロキシ サーバーを構成し、次の値を構成します。
      • Proxy Auth Scheme: プロキシ サーバーで認証する認証タイプを選択します。次の認証タイプがサポートされています。
        • 基本: 基本的な HTTP 認証。
        • ダイジェスト: ダイジェスト HTTP 認証。
      • Proxy User: プロキシ サーバーでの認証に使用されるユーザー名。
      • プロキシ パスワード: ユーザーのパスワードの Secret Manager シークレット。
      • Proxy SSL Type: プロキシ サーバーへの接続時に使用する SSL タイプ。次の認証タイプがサポートされています。
        • 自動: デフォルトの設定。URL が HTTPS URL の場合は、[トンネル] オプションが使用されます。URL が HTTP URL の場合、[なし] オプションが使用されます。
        • 常に: 接続は常に SSL 対応です。
        • なし: 接続は SSL に対応していません。
        • トンネル: 接続はトンネリング プロキシ経由で行われます。プロキシ サーバーがリモートホストへの接続を開き、トラフィックはプロキシを経由するようになります。
      • [Proxy Server] セクションで、プロキシ サーバーの詳細を入力します。
        1. [+ 宛先を追加] をクリックします。
        2. [宛先の種類] を選択します。
          • Host address: 宛先のホスト名または IP アドレスを指定します。

            バックエンドへのプライベート接続を確立する場合は、次のようにします。

    11. 必要に応じて、[+ ラベルを追加] をクリックして Key-Value ペアの形式でラベルを接続に追加します。
    12. [次へ] をクリックします。
  5. [送信先] セクションに、接続するメールサーバーの名前またはアドレスの詳細を入力します。サーバーは IMAP または POP の両方のプロトコルをサポートしています。
    1. 宛先の種類: 宛先の種類を選択します。たとえば、ホストアドレスとポート番号を入力します。たとえば、ホストアドレスは outlook.office365.com、ポートは 993 です。
      1. [Host address] フィールドに、宛先のホスト名または IP アドレスを指定します。
        1. バックエンド システムへのプライベート接続を確立する場合は、次のようにします。
          1. PSC サービス アタッチメントを作成します。
          2. エンドポイント アタッチメント作成してから、ホストアドレスフィールドにあるエンドポイント アタッチメントの詳細を入力します。
        2. セキュリティをさらに強化してバックエンドシステムへのパブリック接続を確立する場合は、接続用の静的アウトバウンド IP アドレスの構成を検討してから、特定の静的 IP アドレスのみを許可リストに登録するようファイアウォール ルールを構成します。
    2. メールを送信する場合は、[+送信先を追加] をクリックして、[SMTPServer] セクションに SMTP サーバーの詳細を追加します。次に、以下の操作を行います。
      • ホストアドレスとポート番号を入力します。たとえば、ホストアドレスは smtp-mail.outlook.com、ポートは 587 です。
    3. [次へ] をクリックします。
  6. [認証] セクションで、認証の詳細を入力します。
    1. [認証タイプ] を選択し、関連する詳細を入力します。

      メール接続でサポートされる認証タイプは次のとおりです。

      • ユーザー名とパスワードを指定する
    2. これらの認証タイプの構成方法については、認証を構成するをご覧ください。

    3. [次へ] をクリックします。
  7. Review: 接続と認証の詳細を確認します。
  8. [作成] をクリックします。

認証を構成する

使用する認証に基づいて詳細を入力します。

  • ユーザー名とパスワード
    • ユーザー名: 認証に使用されるメール アカウントのユーザー。
    • パスワード: 認証に使用されるメール アカウントのパスワードを含む Secret Manager の Secret。

エンティティ、オペレーション、アクション

すべての Integration Connectors が、接続されたアプリケーションのオブジェクトを抽象化するレイヤを提供します。アプリケーションのオブジェクトには、この抽象化を通じてのみアクセスできます。抽象化は、エンティティ、オペレーション、アクションとして公開されます。

  • エンティティ: エンティティは、接続されているアプリケーションやサービスのオブジェクト、またはプロパティのコレクションと考えることができます。エンティティの定義は、コネクタによって異なります。たとえば、データベース コネクタでは、テーブルがエンティティであり、ファイル サーバー コネクタでは、フォルダがエンティティです。また、メッセージング システム コネクタでは、キューがエンティティです。

    ただし、コネクタでいずれのエンティティもサポートされていない、またはエンティティが存在しない可能性があります。その場合、Entities リストは空になります。

  • オペレーション: エンティティに対して行うことができるアクティビティです。エンティティに対して次のいずれかのオペレーションを行うことができます。

    使用可能なリストからエンティティを選択すると、そのエンティティで使用可能なオペレーションのリストが生成されます。オペレーションの詳細については、コネクタタスクのエンティティ オペレーションをご覧ください。ただし、コネクタがどのエンティティ オペレーションもサポートしていない場合、サポートされていないオペレーションは Operations リストに表示されません。

  • アクション: コネクタ インターフェースを介して統合で使用できる最初のクラス関数です。アクションを使用すると、1 つまたは複数のエンティティに対して変更を加えることができます。また、使用できるアクションはコネクタごとに異なります。ただし、コネクタがどのアクションもサポートしていない可能性があります。その場合は、Actions リストが空になります。

システムの上限

メール コネクタは、ノードごとに 1 秒あたり 1 件のトランザクションを処理することができ、この上限を超えるトランザクションすべてをスロットルします。デフォルトでは、Integration Connectors は、接続に 2 つのノードを割り当てます(可用性を高めるため)。

Integration Connectors に適用される上限の詳細については、上限をご覧ください。

アクション

このセクションでは、コネクタでサポートされているアクションを一覧表示します。アクションの構成方法については、アクションの例をご覧ください。

MoveEmails アクション

MoveEmails アクションの入力パラメータ

パラメータ名 データ型 必須 説明
説明 文字列 メールの移動先のメールボックス。
メールボックス 文字列 メールが現在置かれているメールボックス。
Id 文字列 この入力は、操作する一連のメッセージを示します。1 つのメッセージ ID、「:」で区切られた 2 つのメッセージ番号(例: 「1:5」)で区切られたメッセージ範囲、または「,」で区切られた個々のメッセージ番号(例: 「1:5,7,10」)、で構成されます。

MoveEmails アクションの構成方法の例については、アクションの例をご覧ください。

SendMailMessages アクション

SendMailMessages アクションの入力パラメータ

パラメータ名 データ型 必須 説明
BCC 文字列 いいえ BCC に追加された受信者の名前とメールアドレスのセミコロンで区切ったリスト。
優先度 文字列 いいえ メール メッセージの優先度。
機密性 文字列 いいえ メール メッセージの機密性。
添付ファイル 文字列 メッセージに含まれる添付ファイル名のセミコロン区切りのリスト(ファイルを読み取る場合はパスを含む)。
MessageBody 文字列 メッセージの本文。
AttachmentData 文字列 メッセージに含まれる base-64 でエンコードされた添付ファイル データのセミコロン区切りのリスト。([添付ファイル] にはファイル名を指定する必要があります。
InlineImage 文字列 メッセージに含まれるインライン画像識別子(cid)のセミコロン区切りのリスト。
DeliveryNotification 文字列 いいえ 配信通知を送信するメールアドレス。
InlineImageData 文字列 メッセージに含まれる base-64 でエンコードされた画像データのセミコロン区切りのリスト。
CC 文字列 いいえ CC に追加された受信者の名前とメールアドレスからなるセミコロンで区切ったリスト。
InlineImageContent 文字列 いいえ アップロードする InputStream としてのコンテンツ。
送信者 文字列 いいえ 送信者のメールアドレス。
終了日 文字列 いいえ 受信者の名前とメールアドレスのセミコロンで区切ったリスト。
件名 文字列 メールの件名。
AttachmentContent 文字列 いいえ アップロードする InputStream としてのコンテンツ。
文字セット 文字列 いいえ メッセージで使用する文字セット。
ReadReceipt 文字列 いいえ 開封確認の送信先メールアドレス。
IsHTML 文字列 いいえ メールが HTML か書式なしテキストか。
重要度 文字列 いいえ メール メッセージの重要度。

SendMailMessages アクションの構成方法の例については、アクションの例をご覧ください。

SetLabels アクション

SetLabels アクションの入力パラメータ

パラメータ名 データ型 必須 説明
OperationType 文字列 これは、指定したラベルを追加、削除、または、既存のラベルリストを置換する必要があるかを示します。
メールボックス 文字列 メールが置かれている Gmail のメールボックス。
Id 文字列 この入力は、操作する一連のメッセージを示します。1 つのメッセージ ID、「:」で区切られた 2 つのメッセージ番号(例: 「1:5」)で区切られたメッセージ範囲、または「,」で区切られた個々のメッセージ番号(例: 「1:5,7,10」)、で構成されます。
ラベル 文字列 MessageSet プロパティで指定されたメッセージに設定されるラベルのリスト。この入力は、ラベルのカンマ区切りリストに設定する必要があります。

SetLabels アクションの構成方法の例については、アクションの例をご覧ください。

SetFlag アクション

SetFlag アクションの入力パラメータ

パラメータ名 データ型 必須 説明
OperationType 文字列 これは、指定したフラグを追加、削除、または既存のフラグリストを置き換える必要があるかを示します。
メールボックス 文字列 メールが置かれているメールボックス。
Id 文字列 この入力は、操作する一連のメッセージを示します。1 つのメッセージ ID、「:」で区切られた 2 つのメッセージ番号(例: 「1:5」)で区切られたメッセージ範囲、または「,」で区切られた個々のメッセージ番号(例: 「1:5,7,10」)、で構成されます。
フラグ 文字列 指定したフラグをメッセージ セットで指定されたメッセージに設定します。(例: 表示、削除、下書き、フラグあり)。フラグはカンマ区切りのリストとして指定する必要があります(表示、削除、フラグありなど)。

SetFlag アクションの構成方法の例については、アクションの例をご覧ください。

アクションの例

例 - メールを移動する

  1. [Configure connector task] ダイアログで、[Actions] をクリックします。
  2. [MoveEmails] アクションを選択してから、[完了] をクリックします。
  3. [コネクタ] タスクの [タスク入力] セクションで、connectorInputPayload をクリックし、Default Valueフィールドに次のような値を入力します。
     {
    "Destination": "Inbox",
    "Mailbox": "Archive",
    "Id": "1"
    }
  4. アクションが成功すると、MoveEmails タスクの connectorOutputPayload レスポンス パラメータの値は次のようになります。

    [{
    "Success": "true",
    "rss:title": "Message(s) moved successfully."
    }]

例: メールを送信する

  1. [Configure connector task] ダイアログで、[Actions] をクリックします。
  2. [SendMailMessages] アクションを選択してから、[完了] をクリックします。
  3. [コネクタ] タスクの [タスク入力] セクションで、connectorInputPayload をクリックし、Default Valueフィールドに次のような値を入力します。
     {
    "MessageBody": "This mail is generated by using action sendmailmessage for outlook server.",
    "To": "test97@gmail.com",
    "Subject": "Outlook SMTP\n server."
    }
  4. アクションが成功すると、SendMailMessages タスクの connectorOutputPayload レスポンス パラメータの値は次のようになります。

    [{
     "MessageId": "4797386f18288a7441c5317a459b8340e857@outlook.com"
    }]

例 - 添付ファイル付きのメールを送信する

  1. [Configure connector task] ダイアログで、[Actions] をクリックします。
  2. [SendMailMessages] アクションを選択してから、[完了] をクリックします。
  3. [コネクタ] タスクの [タスク入力] セクションで、connectorInputPayload をクリックし、Default Valueフィールドに次のような値を入力します。
     {
    "MessageBody": "This mail is generated by using action sendmailmessage for outlook server.",
    "To": "test97@gmail.com",
    "Subject": "Outlook SMTP PDF Mail.",
    "Attachment": "Testing.pdf",
    "AttachmentData": "JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuz1xj6j3/gb09Wma83/dLbs7L9N03T/dHh6ArlrRiZdCU98lR5A3h9FD
    ...[too long to view on UI. Please download the log to view the full content.]
    }
  4. アクションが成功すると、SendMailMessages タスクの connectorOutputPayload レスポンス パラメータの値は次のようになります。

    [{
    "MessageId": "1e96993a6053845c65ee44e6b4153d585e@outlook.com"
    }]

例 - ラベルを設定する

  1. [Configure connector task] ダイアログで、[Actions] をクリックします。
  2. [SetLabels] アクションを選択してから、[完了] をクリックします。
  3. [コネクタ] タスクの [タスク入力] セクションで、connectorInputPayload をクリックし、Default Valueフィールドに次のような値を入力します。
     {
    "Labels": "GoogleCloud_Testing",
    "OperationType": "ADD",
    "Mailbox": "Inbox",
    "Id": "1"
    }
  4. アクションが成功すると、SetLabels タスクの connectorOutputPayload レスポンス パラメータの値は次のようになります。

    [{
    "Success": "true",
    "rss:title": "Message labels set correctly."
    }]

例 - フラグを設定する

  1. [Configure connector task] ダイアログで、[Actions] をクリックします。
  2. [SetFlag] アクションを選択してから、[完了] をクリックします。
  3. [コネクタ] タスクの [タスク入力] セクションで、connectorInputPayload をクリックし、Default Valueフィールドに次のような値を入力します。
    {
    "Mailbox": "Sent",
    "Id": "1",
    "Flags": "Draft",
    "OperationType": "ADD"
    }
  4. アクションが成功すると、SetFlag タスクの connectorOutputPayload レスポンス パラメータの値は次のようになります。

    [{
    "Success": "true",
    "rss:title": "Message flags set correctly."
    }]

例 - 特定のメールにフラグを設定する

  1. [Configure connector task] ダイアログで、[Actions] をクリックします。
  2. [SetFlag] アクションを選択してから、[完了] をクリックします。
  3. [コネクタ] タスクの [タスク入力] セクションで、connectorInputPayload をクリックし、Default Valueフィールドに次のような値を入力します。
    {
    "Mailbox": "Sent",
    "Id": "1",
    "Flags": "Flagged",
    "OperationType": "ADD"
    }
  4. アクションが成功すると、SetFlag タスクの connectorOutputPayload レスポンス パラメータの値は次のようになります。

    [{
    "Success": "true",
    "rss:title": "Message flags set correctly."
    }]

エンティティ オペレーションの例

このセクションでは、このコネクタでエンティティ オペレーションの一部を実行する方法について説明します。

例 - すべてのメールを一覧表示する

  1. [Configure connector task] ダイアログで、[Entities] をクリックします。
  2. Entity から Inbox を選択します。
  3. [LIST] オペレーションを選択してから、[完了] をクリックします。
  4. 必要に応じて、コネクタタスクの [タスク入力] セクションで、フィルタ句を指定して、結果セットをフィルタリングできます。フィルタ句の値は、常に単一引用符(')内で指定します。

例 - 1 つのメールを取得する

  1. [Configure connector task] ダイアログで、[Entities] をクリックします。
  2. Entity から Inbox を選択します。
  3. [GET] オペレーションを選択してから、[完了] をクリックします。
  4. [コネクタタスクの [タスク入力 セクションで、[EntityId] をクリックし、[デフォルト値] フィールドに 1 を入力します。

    ここで、1Inbox エンティティの一意のレコード ID です。

例 - メールを削除する

  1. [Configure connector task] ダイアログで、[Entities] をクリックします。
  2. Entity から Inbox を選択します。
  3. [DELETE] オペレーションを選択してから、[完了] をクリックします。
  4. [コネクタ] タスクの [タスク入力] セクションで [entityId] をクリックし、[デフォルト値] フィールドに「1」と入力します。

Terraform を使用して接続を作成する

Terraform リソースを使用して、新しい接続を作成できます。

Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。

接続作成用の Terraform テンプレートのサンプルを表示するには、サンプル テンプレートをご覧ください。

Terraform を使用してこの接続を作成する場合は、Terraform 構成ファイルで次の変数を設定する必要があります。

パラメータ名 データ型 必須 説明
プロトコル STRING True 接続先のメールサーバーの種類。
proxy_enabled BOOLEAN False 接続用のプロキシ サーバーを構成するには、このチェックボックスをオンにします。
proxy_auth_scheme ENUM False ProxyServer プロキシへの認証に使用する認証タイプです。サポートされている値は、BASIC、DIGEST、NONE です。
proxy_user 文字列 False ProxyServer プロキシへの認証に使用されるユーザー名です。
proxy_password SECRET False ProxyServer プロキシの認証に使用されるパスワード。
proxy_ssltype ENUM False ProxyServer プロキシへの接続時に使用する SSL のタイプです。サポートされている値は AUTO、ALWAYS、NEVER、TUNNEL です。

統合で Email 接続を使用する

接続を作成すると、Apigee Integration と Application Integration の両方で使用できるようになります。この接続は、コネクタタスクを介して統合で使用できます。

  • Apigee Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。
  • Application Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。

Google Cloud コミュニティの助けを借りる

Google Cloud コミュニティの Cloud フォーラムで質問を投稿したり、このコネクタについてディスカッションしたりできます。

次のステップ