Oracle UTL_MAIL - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Oracle UTL_MAIL

Amazon RDS 透過使用 UTL_MAIL 選項和 SMTP 伺服器支援 Oracle UTL_MAIL。您可以利用 UTL_MAIL 套件,直接從資料庫傳送電子郵件。Amazon RDS 支援下列 Oracle 版本的 UTL_MAIL:

  • Oracle Database 21c (21.0.0.0),所有版本

  • Oracle 資料庫 19c (19.0.0.0),所有版本

下列是使用 UTL_MAIL 時的一些限制:

  • UTL_MAIL 不支援 Transport Layer Security (TLS),因此電子郵件不會加密。

    若要建立及上傳自訂 Oracle 錢包,以安全地連線至遠端 SSL/TLS 資源,請遵循 使用憑證和 Oracle 錢包設定 UTL_HTTP 存取 之中的指示。

    您錢包所需的特定憑證視服務而異。對於 AWS 服務,這些通常可以在 Amazon 信任服務儲存庫中找到。

  • UTL_MAIL 不支援使用 SMTP 伺服器進行身分驗證。

  • 您只能在電子郵件中傳送單一附件。

  • 您無法傳送大於 32 K 的附件。

  • 您只能使用 ASCII 和延伸二進制編碼十進交換碼 (EBCDIC) 字元編碼。

  • SMTP 連接埠 (25) 是根據彈性網路界面擁有者的政策進行調節。

當您啟用 UTL_MAIL 時,僅資料庫執行個體的主要使用者會獲授予執行權限。必要時,主要使用者可將執行權限授予其他使用者,以便他們可以使用 UTL_MAIL。

重要

建議您啟用 Oracle 的內建稽核功能來追蹤 UTL_MAIL 程序的使用。

Oracle UTL_MAIL 的先決條件

下列是使用 Oracle UTL_MAIL 的先決條件:

  • 一部或多部 SMTP 伺服器,以及對應 IP 位址,或者公有或私有網域名稱伺服器 (DNS) 名稱。如需透過自訂 DNS 伺服器解析之私有 DNS 名稱的詳細資訊,請參閱設定自訂 DNS 伺服器

新增 Oracle UTL_MAIL 選項

將 Oracle UTL_MAIL 選項新增至資料庫執行個體的一般程序如下:

  1. 建立新的選項群組,或是複製或修改現有選項群組。

  2. 將選項新增至選項群組。

  3. 將選項群組與資料庫執行個體建立關聯。

在新增 UTL_MAIL 選項之後,只要選項群組為作用中狀態,UTL_MAIL 就會為作用中狀態。

將 UTL_MAIL 選項新增至資料庫執行個體
  1. 判斷要使用的選項群組。您可以建立新的選項群組或使用現有的選項群組。如果您要使用現有的選項群組,請跳到下一個步驟。否則請使用下列設定來建立自訂資料庫選項群組:

    1. 針對 Engine (引擎),選擇您想要使用的 Oracle 版本。

    2. 針對 Major engine version (主要引擎版本),請選擇您資料庫執行個體的版本。

    如需更多詳細資訊,請參閱 建立選項群組

  2. UTL_MAIL 選項新增至選項群組。如需新增選項的詳細資訊,請參閱將選項新增至選項群組

  3. 將選項群組套用至新的或現有的資料庫執行個體:

使用 Oracle UTL_MAIL

在啟用 UTL_MAIL 選項之後,您必須先設定 SMTP 伺服器,然後才能開始使用該選項。

您可以將 SMTP_OUT_SERVER 參數設定為有效的 IP 位址或公有 DNS 名稱,來設定 SMTP 伺服器。對於 SMTP_OUT_SERVER 參數,您可以指定逗號分隔的清單,列出多個伺服器的位址。如果第一部伺服器無法使用,則 UTL_MAIL 會嘗試下一部伺服器,依此類推。

您可以使用資料庫參數群組,來設定資料庫執行個體的預設 SMTP_OUT_SERVER。您可以在資料庫執行個體的資料庫上執行下列程式碼,來設定工作階段的 SMTP_OUT_SERVER 參數。

ALTER SESSION SET smtp_out_server = mailserver.domain.com:25;

在啟用 UTL_MAIL 選項,且設定 SMTP_OUT_SERVER 之後,您就可以使用 SEND 程序傳送郵件。如需詳細資訊,請參閱 Oracle 文件中的 UTL_MAIL

移除 Oracle UTL_MAIL 選項

您可以從資料庫執行個體中移除 Oracle UTL_MAIL。

若要從資料庫執行個體中移除 UTL_MAIL,請執行下列其中一個動作:

  • 若要從多個資料庫執行個體中移除 UTL_MAIL,請從其所屬的選項群組中移除 UTL_MAIL 選項。此變更會影響使用選項群組的所有資料庫執行個體。如需更多詳細資訊,請參閱 從選項群組移除選項

  • 若要從單一資料庫執行個體中移除 UTL_MAIL,請修改資料庫執行個體,並指定不包括 UTL_MAIL 選項的不同選項群組。您可以指定預設的 (空白) 選項群組或不同的自訂選項群組。如需更多詳細資訊,請參閱 修改 Amazon RDS 資料庫執行個體

疑難排解

下列是您使用 UTL_MAIL 與 Amazon RDS 搭配時可能遇到的問題。