メール
メールコネクタを使用すると、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)
サービスを有効にする方法については、サービスを有効にするをご覧ください。
以前にプロジェクトでこうしたサービスを有効にしていない場合は、コネクタを構成するときにそれを有効にすることを求められます。
コネクタを構成する
コネクタを構成するには、データソース(バックエンド システム)への接続を作成する必要があります。接続はデータソースに特有です。つまり、多数のデータソースがある場合は、データソースごとに別々の接続を作成する必要があります。接続を作成する手順は次のとおりです。
- Cloud コンソールで、[Integration Connectors] > [接続] ページに移動し、Google Cloud プロジェクトを選択または作成します。
- [+ 新規作成] をクリックして [接続の作成] ページを開きます。
- [ロケーション] セクションで、接続のロケーションを選択します。
- リージョン: プルダウン リストからロケーションを選択します
サポートされているすべてのリージョンの一覧については、ロケーションをご覧ください。
- [次へ] をクリックします。
- リージョン: プルダウン リストからロケーションを選択します
- [接続の詳細] セクションで、次の操作を行います。
- コネクタ: 使用可能なコネクタのプルダウン リストから [メール] を選択します。
- コネクタのバージョン: 使用可能なバージョンのプルダウン リストからコネクタのバージョンを選択します。
- [接続名] フィールドに、接続インスタンスの名前を入力します。
接続名は次の条件を満たす必要があります。
- 接続名には英字、数字、ハイフンを使用できます。
- 文字は小文字のみを使用できます。
- 接続名の先頭には英字を設定し、末尾には英字または数字を設定する必要があります。
- 接続名は 63 文字以内で指定してください。
- (省略可)説明文: 接続の説明を入力します。
- (省略可)Cloud Logging を有効にする: 接続のすべてのログデータを保存するには、このチェックボックスをオンにします。
- サービス アカウント: 必要なロールを持つサービス アカウントを選択します。
-
プロトコル: 接続先のメールサーバーの種類。有効な値は
IMAP
とPOP
です。 - 詳細レベル: このフィールドは、ログファイルに含める詳細情報の量を決定します。有効な値の範囲は 1 ~ 5 です。詳細レベルが高いほど、リクエスト、レスポンス、SSL 証明書を含むすべての通信の詳細がログに記録されます。
- 必要に応じて、接続ノードの設定を構成します。
- ノードの最小数: 接続ノードの最小数を入力します。
- ノードの最大数: 接続ノードの最大数を入力します。
ノードは、トランザクションを処理する接続の単位(またはレプリカ)です。1 つの接続でより多くのトランザクションを処理するには、より多くのノードが必要になります。逆に、より少ないトランザクションを処理するには、より少ないノードが必要になります。ノードがコネクタの料金に与える影響については、接続ノードの料金をご覧ください。値を入力しない場合は、デフォルトで最小ノード数は 2 に設定され(可用性を高めるため)、最大ノード数は 50 に設定されます。
- 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] セクションで、プロキシ サーバーの詳細を入力します。
- [+ 宛先を追加] をクリックします。
- [宛先の種類] を選択します。
- Host address: 宛先のホスト名または IP アドレスを指定します。
バックエンドへのプライベート接続を確立する場合は、次のようにします。
- PSC サービス アタッチメントを作成します。
- エンドポイント アタッチメント作成してから、ホストアドレスフィールドにあるエンドポイント アタッチメントの詳細を入力します。
- Host address: 宛先のホスト名または IP アドレスを指定します。
- 必要に応じて、[+ ラベルを追加] をクリックして Key-Value ペアの形式でラベルを接続に追加します。
- [次へ] をクリックします。
- [送信先] セクションに、接続するメールサーバーの名前またはアドレスの詳細を入力します。サーバーは IMAP または POP の両方のプロトコルをサポートしています。
- 宛先の種類: 宛先の種類を選択します。たとえば、ホストアドレスとポート番号を入力します。たとえば、ホストアドレスは
outlook.office365.com
、ポートは993
です。- [Host address] フィールドに、宛先のホスト名または IP アドレスを指定します。
- バックエンド システムへのプライベート接続を確立する場合は、次のようにします。
- PSC サービス アタッチメントを作成します。
- エンドポイント アタッチメント作成してから、ホストアドレスフィールドにあるエンドポイント アタッチメントの詳細を入力します。
- セキュリティをさらに強化してバックエンドシステムへのパブリック接続を確立する場合は、接続用の静的アウトバウンド IP アドレスの構成を検討してから、特定の静的 IP アドレスのみを許可リストに登録するようファイアウォール ルールを構成します。
- バックエンド システムへのプライベート接続を確立する場合は、次のようにします。
- [Host address] フィールドに、宛先のホスト名または IP アドレスを指定します。
- メールを送信する場合は、[+送信先を追加] をクリックして、[SMTPServer] セクションに SMTP サーバーの詳細を追加します。次に、以下の操作を行います。
- ホストアドレスとポート番号を入力します。たとえば、ホストアドレスは
smtp-mail.outlook.com
、ポートは587
です。
- ホストアドレスとポート番号を入力します。たとえば、ホストアドレスは
- [次へ] をクリックします。
- 宛先の種類: 宛先の種類を選択します。たとえば、ホストアドレスとポート番号を入力します。たとえば、ホストアドレスは
-
[認証] セクションで、認証の詳細を入力します。
- [認証タイプ] を選択し、関連する詳細を入力します。
メール接続でサポートされる認証タイプは次のとおりです。
- ユーザー名とパスワードを指定する
- [次へ] をクリックします。
これらの認証タイプの構成方法については、認証を構成するをご覧ください。
- [認証タイプ] を選択し、関連する詳細を入力します。
- Review: 接続と認証の詳細を確認します。
- [作成] をクリックします。
認証を構成する
使用する認証に基づいて詳細を入力します。
-
ユーザー名とパスワード
- ユーザー名: 認証に使用されるメール アカウントのユーザー。
- パスワード: 認証に使用されるメール アカウントのパスワードを含む 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
アクションの構成方法の例については、アクションの例をご覧ください。
例
アクションの例
例 - メールを移動する
- [
Configure connector task
] ダイアログで、[Actions
] をクリックします。 - [
MoveEmails
] アクションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayload
をクリックし、Default Value
フィールドに次のような値を入力します。{ "Destination": "Inbox", "Mailbox": "Archive", "Id": "1" }
アクションが成功すると、MoveEmails
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "Success": "true", "rss:title": "Message(s) moved successfully." }]
例: メールを送信する
- [
Configure connector task
] ダイアログで、[Actions
] をクリックします。 - [
SendMailMessages
] アクションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayload
をクリックし、Default Value
フィールドに次のような値を入力します。{ "MessageBody": "This mail is generated by using action sendmailmessage for outlook server.", "To": "test97@gmail.com", "Subject": "Outlook SMTP\n server." }
アクションが成功すると、SendMailMessages
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "MessageId": "4797386f18288a7441c5317a459b8340e857@outlook.com" }]
例 - 添付ファイル付きのメールを送信する
- [
Configure connector task
] ダイアログで、[Actions
] をクリックします。 - [
SendMailMessages
] アクションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
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.] }
アクションが成功すると、SendMailMessages
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "MessageId": "1e96993a6053845c65ee44e6b4153d585e@outlook.com" }]
例 - ラベルを設定する
- [
Configure connector task
] ダイアログで、[Actions
] をクリックします。 - [
SetLabels
] アクションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayload
をクリックし、Default Value
フィールドに次のような値を入力します。{ "Labels": "GoogleCloud_Testing", "OperationType": "ADD", "Mailbox": "Inbox", "Id": "1" }
アクションが成功すると、SetLabels
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "Success": "true", "rss:title": "Message labels set correctly." }]
例 - フラグを設定する
- [
Configure connector task
] ダイアログで、[Actions
] をクリックします。 - [
SetFlag
] アクションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayload
をクリックし、Default Value
フィールドに次のような値を入力します。{ "Mailbox": "Sent", "Id": "1", "Flags": "Draft", "OperationType": "ADD" }
アクションが成功すると、SetFlag
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "Success": "true", "rss:title": "Message flags set correctly." }]
例 - 特定のメールにフラグを設定する
- [
Configure connector task
] ダイアログで、[Actions
] をクリックします。 - [
SetFlag
] アクションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayload
をクリックし、Default Value
フィールドに次のような値を入力します。{ "Mailbox": "Sent", "Id": "1", "Flags": "Flagged", "OperationType": "ADD" }
アクションが成功すると、SetFlag
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "Success": "true", "rss:title": "Message flags set correctly." }]
エンティティ オペレーションの例
このセクションでは、このコネクタでエンティティ オペレーションの一部を実行する方法について説明します。
例 - すべてのメールを一覧表示する
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からInbox
を選択します。- [
LIST
] オペレーションを選択してから、[完了] をクリックします。 - 必要に応じて、コネクタタスクの [タスク入力] セクションで、フィルタ句を指定して、結果セットをフィルタリングできます。フィルタ句の値は、常に単一引用符(')内で指定します。
例 - 1 つのメールを取得する
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からInbox
を選択します。- [
GET
] オペレーションを選択してから、[完了] をクリックします。 - [コネクタタスクの [タスク入力 セクションで、[EntityId] をクリックし、[デフォルト値] フィールドに
1
を入力します。ここで、
1
はInbox
エンティティの一意のレコード ID です。
例 - メールを削除する
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からInbox
を選択します。- [
DELETE
] オペレーションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで [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 フォーラムで質問を投稿したり、このコネクタについてディスカッションしたりできます。次のステップ
- 接続を一時停止して再開する方法を確認する。
- コネクタの使用状況をモニタリングする方法を確認する。
- コネクタログを表示する方法を確認する。