電子郵件
您可以使用電子郵件連接器,對 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」>「Connections」頁面,然後選取或建立 Google Cloud 專案。
- 按一下「+ 建立新項目」開啟「建立連線」頁面。
- 在「位置」部分中,選擇連線位置。
- 區域:從下拉式清單中選取位置。
如需所有支援的地區清單,請參閱「位置」一文。
- 點選「下一步」。
- 區域:從下拉式清單中選取位置。
- 在「連線詳細資料」部分,完成下列步驟:
- 連接器:從可用連接器的下拉式清單中選取「電子郵件」。
- 連接器版本:從可用版本的下拉式清單中選取連接器版本。
- 在「連線名稱」欄位中,輸入連線執行個體的名稱。
連線名稱必須符合下列條件:
- 連線名稱可使用英文字母、數字或連字號。
- 字母必須為小寫。
- 連線名稱開頭須為英文字母,結尾則須為英文字母或數字。
- 連結名稱不得超過 49 個字元。
- (選用) 說明: 輸入連線說明。
- 或者,可啟用 Cloud Logging,然後選取記錄層級。記錄層級預設為
Error
。 - 服務帳戶:選取具備必要角色的服務帳戶。
-
通訊協定:要連線的電子郵件伺服器類型。有效值為
IMAP
和POP
。 - 詳細程度:這個欄位可決定要在記錄檔中加入的詳細程度。有效值範圍為 1 到 5。詳細程度越高,記錄的通訊詳細資料就越多,包括要求、回應和 SSL 憑證。
- 視需要設定「連線節點設定」:
- 節點數量下限:輸入連線節點數量下限。
- 節點數量上限:輸入連線節點數量上限。
節點是用來處理交易的連線單位 (或備用資源)。連線處理的交易量越多,就需要越多節點;反之,處理的交易量越少,需要的節點就越少。如要瞭解節點對連接器定價的影響,請參閱「 連線節點定價」。如未輸入任何值,系統預設會將節點下限設為 2 (提高可用性),節點上限則設為 50。
- (選用) 在「進階設定」部分,選取「使用 Proxy」核取方塊,為連線設定 Proxy 伺服器,並設定下列值:
-
Proxy 驗證機制:選取與 Proxy 伺服器進行驗證的驗證類型。系統支援下列驗證類型:
- 基本:基本 HTTP 驗證。
- 摘要:摘要 HTTP 驗證。
- Proxy 使用者:用於向 Proxy 伺服器驗證的使用者名稱。
- Proxy Password:使用者的密碼 Secret Manager 密鑰。
-
Proxy SSL Type:連線至 Proxy 伺服器時要使用的 SSL 類型。系統支援下列驗證類型:
- 自動:預設設定。如果網址是 HTTPS 網址,則會使用「通道」選項。如果網址是 HTTP 網址,系統會使用「永不」選項。
- 一律:連線一律啟用 SSL。
- 從未:連線未啟用 SSL。
- 通道:連線是透過通道 Proxy 建立。Proxy 伺服器會開啟與遠端主機的連線,流量則會透過 Proxy 來回傳輸。
- 在「Proxy 伺服器」部分中,輸入 Proxy 伺服器的詳細資料。
- (選用) 按一下「+ 新增標籤」,以鍵/值組合的形式為連線新增標籤。
- 點選「下一步」。
- 在「目的地」部分中,輸入要連線的郵件伺服器名稱或地址詳細資料。伺服器支援 IMAP 和 POP 通訊協定。
- 目的地類型:選取目的地類型。例如輸入主機位址和通訊埠號碼。例如,主機位址為
outlook.office365.com
,通訊埠為993
。- 如要指定目的地主機名稱或 IP 位址,請選取「主機地址」,然後在「主機 1」欄位中輸入地址。
- 如要建立私人連線,請選取「Endpoint attachment」(端點連結),然後從「Endpoint Attachment」(端點連結) 清單中選擇所需連結。
如要建立與後端系統的公開連線,並加強安全性,建議為連線設定靜態輸出 IP 位址,然後設定防火牆規則,只允許特定靜態 IP 位址。
- 如要傳送電子郵件,請按一下「+新增目的地」,在「SMTPServer」部分新增 SMTP 伺服器詳細資料。接著,按照下列步驟操作:
- 輸入主機位址和通訊埠號碼。舉例來說,主機位址為
smtp-mail.outlook.com
,通訊埠為587
。
- 輸入主機位址和通訊埠號碼。舉例來說,主機位址為
- 點選「下一步」。
- 目的地類型:選取目的地類型。例如輸入主機位址和通訊埠號碼。例如,主機位址為
-
在「Authentication」(驗證) 部分中,輸入驗證詳細資料。
- 選取「驗證類型」並輸入相關詳細資料。
電子郵件連線支援下列驗證類型:
- 使用者名稱和密碼
- 點選「下一步」。
如要瞭解如何設定這些驗證類型,請參閱「設定驗證」。
- 選取「驗證類型」並輸入相關詳細資料。
- 檢查:檢查連線和驗證詳細資料。
- 點選「建立」。
設定驗證機制
根據要使用的驗證方式輸入詳細資料。
-
使用者名稱和密碼
- 使用者名稱:用於驗證的電子郵件帳戶使用者。
- 密碼:Secret Manager 密鑰,內含用於驗證的電子郵件帳戶密碼。
實體、作業和動作
所有整合連接器都會為所連應用程式的物件提供抽象層。您只能透過這個抽象化程序存取應用程式的物件。抽象化會以實體、作業和動作的形式呈現。
- 實體: 實體可以視為已連結應用程式或服務中的物件,或是屬性集合。實體的定義因連接器而異。舉例來說,在資料庫連接器中,資料表是實體;在檔案伺服器連接器中,資料夾是實體;在訊息系統連接器中,佇列是實體。
不過,連接器可能不支援或沒有任何實體,在這種情況下,
Entities
清單會是空白。 - 作業: 作業是指您可以在實體上執行的活動。您可以對實體執行下列任一操作:
從可用清單中選取實體,系統會產生該實體可用的作業清單。如需作業的詳細說明,請參閱 Connectors 工作的實體作業。 不過,如果連接器不支援任何實體作業,系統就不會在
Operations
清單中列出這些不支援的作業。 - 動作: 動作是透過連接器介面提供給整合的第一類函式。動作可讓您變更一或多個實體,且因連接器而異。一般來說,動作會有一些輸入參數和輸出參數。不過,連接器可能不支援任何動作,此時
Actions
清單會是空白。
系統限制
電子郵件連線器每秒可處理 1 筆交易,每個節點也是如此,超出此限制的交易都會遭到節流。根據預設,Integration Connectors 會為連線分配 2 個節點 (以提高可用性)。
如要瞭解 Integration Connectors 適用的限制,請參閱「限制」一文。
動作
本節列出連接器支援的操作。如要瞭解如何設定動作,請參閱動作範例。
MoveEmails 動作
MoveEmails 動作的輸入參數
參數名稱 | 資料類型 | 必填 | 說明 |
---|---|---|---|
說明 | 字串 | 是 | 郵件要移往的信箱。 |
信箱 | 字串 | 是 | 郵件目前所在的信箱。 |
ID | 字串 | 是 | 這項輸入內容表示要執行的郵件集。這可能包含單一訊息 ID、以兩個訊息號碼 (以「:」分隔) 指定的訊息範圍 (例如「1:5」),和/或以「,」分隔的個別訊息號碼 (例如「1:5,7,10」)。 |
如要瞭解如何設定 MoveEmails
動作,請參閱「動作範例」。
SendMailMessages 動作
SendMailMessages 動作的輸入參數
參數名稱 | 資料類型 | 必填 | 說明 |
---|---|---|---|
密件副本 | 字串 | 否 | 以半形分號分隔的密件副本收件者姓名和電子郵件地址清單。 |
優先順序 | 字串 | 否 | 郵件訊息的優先順序。 |
機密等級 | 字串 | 否 | 郵件訊息的機密程度。 |
附件 | 字串 | 是 | 以半形分號分隔的附件檔案名稱清單 (如要從檔案讀取,則包含路徑)。 |
MessageBody | 字串 | 是 | 訊息內文。 |
AttachmentData | 字串 | 是 | 以半形分號分隔的清單,列出訊息中包含的 Base64 編碼附件資料。(您仍須在「附件」中指定檔案名稱。 |
InlineImage | 字串 | 是 | 以半形分號分隔的內嵌圖片 ID (cid) 清單,這些圖片會納入郵件中。 |
DeliveryNotification | 字串 | 否 | 接收送達通知的電子郵件地址。 |
InlineImageData | 字串 | 是 | 以半形分號分隔的清單,列出要納入訊息的 Base64 編碼圖片資料。 |
CC | 字串 | 否 | 以半形分號分隔的副本收件者姓名和電子郵件地址清單。 |
InlineImageContent | 字串 | 否 | 要上傳的內容 (以 InputStream 形式)。 |
寄件者 | 字串 | 否 | 寄件者的電子郵件地址。 |
收件者 | 字串 | 否 | 以半形分號分隔的收件者姓名和電子郵件地址清單。 |
主旨 | 字串 | 是 | 郵件主旨。 |
AttachmentContent | 字串 | 否 | 要上傳的內容 (以 InputStream 形式)。 |
字元集 | 字串 | 否 | 訊息中使用的字元集。 |
ReadReceipt | 字串 | 否 | 要將讀取回條傳送至的電子郵件地址。 |
IsHTML | 字串 | 否 | 電子郵件是 HTML 或純文字。 |
重要性 | 字串 | 否 | 郵件的重要性。 |
如要瞭解如何設定 SendMailMessages
動作,請參閱「動作範例」。
SetLabels 動作
SetLabels 動作的輸入參數
參數名稱 | 資料類型 | 必填 | 說明 |
---|---|---|---|
OperationType | 字串 | 是 | 這表示應新增、移除或取代現有標籤清單中的指定標籤。 |
信箱 | 字串 | 是 | 郵件所在的 Gmail 信箱。 |
ID | 字串 | 是 | 這項輸入內容表示要執行的郵件集。這可能包含單一訊息 ID、以兩個訊息號碼 (以「:」分隔) 指定的訊息範圍 (例如「1:5」),和/或以「,」分隔的個別訊息號碼 (例如「1:5,7,10」)。 |
標籤 | 字串 | 是 | 要為 MessageSet 屬性指定的郵件設定的標籤清單。這項輸入內容應設為以半形逗號分隔的標籤清單。 |
如要瞭解如何設定 SetLabels
動作,請參閱「動作範例」。
SetFlag 動作
SetFlag 動作的輸入參數
參數名稱 | 資料類型 | 必填 | 說明 |
---|---|---|---|
OperationType | 字串 | 是 | 這表示是否應新增、移除或取代現有的旗標清單。 |
信箱 | 字串 | 是 | 郵件所在的信箱。 |
ID | 字串 | 是 | 這項輸入內容表示要執行的郵件集。這可能包含單一訊息 ID、以兩個訊息號碼 (以「:」分隔) 指定的訊息範圍 (例如「1:5」),和/或以「,」分隔的個別訊息號碼 (例如「1:5,7,10」)。 |
旗標 | 字串 | 是 | 將指定旗標設為郵件集指定的郵件。(例如:已讀、已刪除、草稿、已加上旗標)。請以半形逗號分隔的清單形式指定標記(例如:Seen、Deleted、flagged) |
如要瞭解如何設定 SetFlag
動作,請參閱「動作範例」。
範例
動作範例
範例 - 移動電子郵件
- 在「
Configure connector task
」對話方塊中,按一下Actions
。 - 選取
MoveEmails
動作,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下
connectorInputPayload
,然後在Default Value
欄位中輸入類似下列的值:{ "Destination": "Inbox", "Mailbox": "Archive", "Id": "1" }
如果動作成功,MoveEmails
工作項目的 connectorOutputPayload
回應參數會包含類似下列內容的值:
[{ "Success": "true", "rss:title": "Message(s) moved successfully." }]
範例 - 傳送電子郵件
- 在「
Configure connector task
」對話方塊中,按一下Actions
。 - 選取
SendMailMessages
動作,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下
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
動作,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下
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
動作,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下
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
動作,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下
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
動作,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下
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
」作業,然後按一下「完成」。 - (選用) 在「連結器」工作的「工作輸入」部分,您可以指定篩選子句,篩選結果集。 請一律在單引號 (') 內指定篩選子句值。
範例 - 取得單一電子郵件
- 在「
Configure connector task
」對話方塊中,按一下Entities
。 - 從
Entity
清單中選取Inbox
。 - 選取「
GET
」作業,然後按一下「完成」。 - 在「連線器」工作的「工作輸入」部分,按一下「EntityId」,然後在「預設值」欄位中輸入
1
。其中
1
是Inbox
實體中的專屬記錄 ID。
範例 - 刪除電子郵件
- 在「
Configure connector task
」對話方塊中,按一下Entities
。 - 從
Entity
清單中選取Inbox
。 - 選取「
DELETE
」作業,然後按一下「完成」。 - 在「連線器」工作的「Task Input」(工作輸入內容) 區段中,按一下「entityId」,然後在「Default Value」(預設值) 欄位中輸入
1
。
使用 Terraform 建立連線
您可以使用 Terraform 資源建立新連線。
如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。
如要查看用於建立連線的 Terraform 範本範例,請參閱範本範例。
使用 Terraform 建立這項連線時,您必須在 Terraform 設定檔中設定下列變數:
參數名稱 | 資料類型 | 必填 | 說明 |
---|---|---|---|
通訊協定 | STRING | 是 | 要連線的電子郵件伺服器類型。 |
proxy_enabled | BOOLEAN | 否 | 選取這個核取方塊,即可為連線設定 Proxy 伺服器。 |
proxy_auth_scheme | ENUM | 否 | 用於向 ProxyServer Proxy 驗證的驗證類型。支援的值包括:BASIC、DIGEST、NONE |
proxy_user | STRING | 否 | 用於向 ProxyServer Proxy 驗證的使用者名稱。 |
proxy_password | SECRET | 否 | 用於向 ProxyServer 代理程式驗證的密碼。 |
proxy_ssltype | ENUM | 否 | 連線至 ProxyServer Proxy 時要使用的 SSL 類型,支援的值包括:AUTO、ALWAYS、NEVER、TUNNEL |
在整合服務中使用電子郵件連線
建立連線後,Apigee Integration 和 Application Integration 都會提供該連線。您可以在整合中透過「連接器」工作使用連線。
- 如要瞭解如何在 Apigee Integration 中建立及使用「連線器」工作,請參閱「連線器工作」。
- 如要瞭解如何在 Application Integration 中建立及使用「連線器」工作,請參閱「連線器工作」。