電子郵件

您可以使用電子郵件連接器,對 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」>「Connections」頁面,然後選取或建立 Google Cloud 專案。

    前往「連線」頁面

  2. 按一下「+ 建立新項目」開啟「建立連線」頁面。
  3. 在「位置」部分中,選擇連線位置。
    1. 區域:從下拉式清單中選取位置。

      如需所有支援的地區清單,請參閱「位置」一文。

    2. 點選「下一步」
  4. 在「連線詳細資料」部分,完成下列步驟:
    1. 連接器:從可用連接器的下拉式清單中選取「電子郵件」
    2. 連接器版本:從可用版本的下拉式清單中選取連接器版本。
    3. 在「連線名稱」欄位中,輸入連線執行個體的名稱。

      連線名稱必須符合下列條件:

      • 連線名稱可使用英文字母、數字或連字號。
      • 字母必須為小寫。
      • 連線名稱開頭須為英文字母,結尾則須為英文字母或數字。
      • 連結名稱不得超過 49 個字元。
    4. (選用) 說明: 輸入連線說明。
    5. 或者,可啟用 Cloud Logging,然後選取記錄層級。記錄層級預設為 Error
    6. 服務帳戶:選取具備必要角色的服務帳戶。
    7. 通訊協定:要連線的電子郵件伺服器類型。有效值為 IMAPPOP
    8. 詳細程度:這個欄位可決定要在記錄檔中加入的詳細程度。有效值範圍為 1 到 5。詳細程度越高,記錄的通訊詳細資料就越多,包括要求、回應和 SSL 憑證。
    9. 視需要設定「連線節點設定」

      • 節點數量下限:輸入連線節點數量下限。
      • 節點數量上限:輸入連線節點數量上限。

      節點是用來處理交易的連線單位 (或備用資源)。連線處理的交易量越多,就需要越多節點;反之,處理的交易量越少,需要的節點就越少。如要瞭解節點對連接器定價的影響,請參閱「 連線節點定價」。如未輸入任何值,系統預設會將節點下限設為 2 (提高可用性),節點上限則設為 50。

    10. (選用) 在「進階設定」部分,選取「使用 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 伺服器的詳細資料。
        1. 按一下「+ 新增目的地」
        2. 選取「目的地類型」
          • 主機位址:指定目的地的主機名稱或 IP 位址。

            如要與後端系統建立私人連線,請按照下列步驟操作:

    11. (選用) 按一下「+ 新增標籤」,以鍵/值組合的形式為連線新增標籤。
    12. 點選「下一步」
  5. 在「目的地」部分中,輸入要連線的郵件伺服器名稱或地址詳細資料。伺服器支援 IMAP 和 POP 通訊協定。
    1. 目的地類型:選取目的地類型。例如輸入主機位址和通訊埠號碼。例如,主機位址為 outlook.office365.com,通訊埠為 993
      • 如要指定目的地主機名稱或 IP 位址,請選取「主機地址」,然後在「主機 1」欄位中輸入地址。
      • 如要建立私人連線,請選取「Endpoint attachment」(端點連結),然後從「Endpoint Attachment」(端點連結) 清單中選擇所需連結。

      如要建立與後端系統的公開連線,並加強安全性,建議為連線設定靜態輸出 IP 位址,然後設定防火牆規則,只允許特定靜態 IP 位址。

    2. 如要傳送電子郵件,請按一下「+新增目的地」,在「SMTPServer」部分新增 SMTP 伺服器詳細資料。接著,按照下列步驟操作:
      • 輸入主機位址和通訊埠號碼。舉例來說,主機位址為 smtp-mail.outlook.com,通訊埠為 587
    3. 點選「下一步」
  6. 在「Authentication」(驗證) 部分中,輸入驗證詳細資料。
    1. 選取「驗證類型」並輸入相關詳細資料。

      電子郵件連線支援下列驗證類型:

      • 使用者名稱和密碼
    2. 如要瞭解如何設定這些驗證類型,請參閱「設定驗證」。

    3. 點選「下一步」
  7. 檢查:檢查連線和驗證詳細資料。
  8. 點選「建立」

設定驗證機制

根據要使用的驗證方式輸入詳細資料。

  • 使用者名稱和密碼
    • 使用者名稱:用於驗證的電子郵件帳戶使用者。
    • 密碼: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 動作,請參閱「動作範例」。

範例

動作範例

範例 - 移動電子郵件

  1. 在「Configure connector task」對話方塊中,按一下 Actions
  2. 選取 MoveEmails 動作,然後按一下「完成」
  3. 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下 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. 在「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."
    }
  4. 如果動作成功,SendMailMessages 工作項目的 connectorOutputPayload 回應參數會包含類似下列內容的值:

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

範例 - 傳送含有附件的郵件

  1. 在「Configure connector task」對話方塊中,按一下 Actions
  2. 選取 SendMailMessages 動作,然後按一下「完成」
  3. 在「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.]
    }    
  4. 如果動作成功,SendMailMessages 工作項目的 connectorOutputPayload 回應參數會包含類似下列內容的值:

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

範例 - 設定標籤

  1. 在「Configure connector task」對話方塊中,按一下 Actions
  2. 選取 SetLabels 動作,然後按一下「完成」
  3. 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下 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. 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下 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. 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下 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. 在「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. 在「連線器」工作的「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 中建立及使用「連線器」工作,請參閱「連線器工作」。

向 Google Cloud 社群尋求協助

如要發布問題及討論這個連接器,請前往 Cloud 論壇的 Google Cloud 社群。

後續步驟