注意:

使用 DBMS_CLOUD_NOTIFICATION 套裝程式傳送電子郵件至 Oracle Autonomous Database

簡介

Oracle Autonomous Database 提供易於使用且完整的自治式資料庫,可彈性調整規模並提供快速查詢效能。Autonomous Database 這項服務不需要資料庫管理。

Oracle Autonomous Database 支援 DBMS_CLOUD_NOTIFICATION 套裝程式,以電子郵件傳送訊息和查詢結果。此套裝軟體僅支援傳送電子郵件給公用 SMTP 端點。

注意:目前唯一支援的電子郵件提供者為 Oracle Cloud Infrastructure (OCI) Email Delivery 服務。

目標

使用 DBMS_CLOUD_NOTIFICATION 套裝程式,以電子郵件方式從 Oracle Autonomous Database 傳送查詢訊息和輸出。

必要條件

作業 1:識別並設定 SMTP 連線

  1. 開啟導覽功能表,然後按一下開發人員服務。在應用程式整合底下,按一下電子郵件傳遞

  2. 資源功能表中,按一下組態

    組態

    • 公用端點:此區域用於接收電子郵件的公用端點。

    • SMTP 連接埠:用來接受電子郵件的 SMTP 連接埠。電子郵件傳遞支援連接埠 25 或 587 上的 TLS。

    • 安全:此欄位指示是否使用 TLS (執行電子郵件傳輸加密的標準方法)。客戶在傳輸到 Oracle Cloud Infrastructure Email Delivery 服務時,必須加密電子郵件。加密的電子郵件在傳輸過程中不會被讀取。

作業 2:產生電子郵件傳遞的 SMTP 證明資料

  1. 檢視使用者詳細資訊:

    • 如果您要為自己產生 SMTP 證明資料:開啟設定檔功能表,然後按一下使用者設定值或您的帳戶名稱。
    • 如果您是管理員替其他使用者產生 SMTP 證明資料:請開啟導覽功能表,然後按一下識別與安全。在識別底下,按一下使用者。在清單中找出使用者,然後按一下使用者名稱以檢視詳細資料。
  2. 按一下 SMTP 證明資料

  3. 按一下 Generate SMTP Credentials

  4. 在對話方塊中輸入 SMTP 證明資料的描述

  5. 按一下 Generate SMTP Credentials 。將會顯示使用者名稱和密碼,如下所示。

    證明資料

作業 3:為電子郵件傳遞建立核准的寄件者

註冊用於電子郵件傳遞的寄件者電子郵件地址。

  1. 開啟導覽功能表,然後按一下開發人員服務。在應用程式整合底下,按一下電子郵件傳遞。在電子郵件傳遞底下,按一下核准的寄件者。請確定您是否位於正確的區間。使用者所屬的群組必須具備可管理此區間中已核准收件者的權限。

  2. 核准的寄件者頁面上,按一下核准的寄件者

  3. 建立核准的寄件者對話方塊中,提供下列資訊:

    • 輸入您想要列為核准寄件者的電子郵件地址。
    • (選擇性) 新增標記以組織資源。若要套用定義的標記,您必須要有使用標記命名空間的權限。如需有關標記的詳細資訊,請參閱「資源標記」。如果您不確定是否要套用標記,請略過此選項 (您可以稍後套用標記),或詢問您的管理員。
  4. 按一下建立核准的寄件者 (Create Approved Sender)

  5. 電子郵件地址會新增至「核准的寄件者」清單。

    寄件人

注意

作業 4:以電子郵件方式從 Oracle Autonomous Database 傳送訊息

  1. 佈建 Oracle Autonomous Database:前往「詳細資訊」頁面,然後按一下資料庫動作。系統會開啟「資料庫動作」的登入頁面。使用資料庫執行處理的預設管理員帳戶 Username - admin ,然後按一下下一步。「資料庫動作 (Database Actions)」頁面隨即開啟。在開發方塊中,按一下 SQL

    資料庫動作

  2. 建立證明資料物件,並使用 DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE 以電子郵件傳送訊息。在「SQL 工作表」中複製並貼上下方的程式碼片段。

    BEGIN
       DBMS_CLOUD.CREATE_CREDENTIAL(
            credential_name => 'test',
            username        => 'username',
            password        => '************'
       );
       END;
    /
    BEGIN
       DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE(
            provider        => 'email',
            credential_name => 'test',
            message         => 'This message is to confirm that you have received an email from Autonomous Database',
            params          => json_object('recipient' value  '************',
                                           'to_cc'  value '************',
                                           'to_bcc' value ‘************’,
                                           'subject' value 'Test email',
                                           'smtp_host' value 'smtp.email.us-phoenix-1.oci.oraclecloud.com',
                                           'sender'    value  'send.email@test.com' )
       );
       END;
    /
    

    使用 params 參數指定 string 值中 CC 或 BCC 的寄件者、smtp_host、主旨、收件者及收件者。

    • 寄件者:核准寄件者的電子郵件 ID
    • smtp_host :SMTP 主機名稱
    • 主旨:電子郵件的主旨
    • 收件者:收件者的電子郵件 ID
    • to_cc :接收電子郵件副本的電子郵件 ID
    • to_bcc :接收電子郵件密件副本的電子郵件 ID
  3. 請確定按一下執行陳述式按鈕,以在「SQL 工作表」中加以執行。

    傳送訊息

程序順利完成後,您會收到電子郵件。

電子郵件訊息

任務 5:從 Oracle Autonomous Database 以電子郵件傳送查詢結果

  1. 您可以使用 DBMS_CLOUD_NOTIFICATION 套裝軟體,將查詢結果以電子郵件傳送。例如,使用 DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE 傳送含有查詢輸出的訊息 - SELECT tablespace_name FROM dba_tablespaces; 作為電子郵件。在「SQL 工作表」中複製並貼上下方的程式碼片段。

    BEGIN
       DBMS_CLOUD.CREATE_CREDENTIAL(
            credential_name => 'test',
            username        => ‘username’
            password        => '************'
       );
       END;
    /
    BEGIN
       DBMS_CLOUD_NOTIFICATION.SEND_DATA(
            provider        => 'email',
            credential_name => 'test',
            query           => 'SELECT tablespace_name FROM dba_tablespaces',
            params          => json_object('recipient' value  '************',
                                           'to_cc'  value '****************',
                                           'to_bcc' value '****************',
                                           'subject' value 'Tablespace Report',
                                           'type' value 'json',
                                           'title' value 'Tablespace report',
                                           'message' value 'Here is the tablespace report',
                                           'smtp_host' value 'smtp.email.us-phoenix-1.oci.oraclecloud.com',
                                           'sender'    value  'send.email@test.com' )
       );
       END;
    /
    
  2. 請確定按一下執行陳述式按鈕,以在「SQL 工作表」中加以執行。

    傳送資料

程序順利完成後,您會收到電子郵件。

查詢電子郵件

接下來的步驟

Oracle Autonomous Database 現在支援 DBMS_CLOUD_NOTIFICATION 套裝軟體,我們看到如何使用此套裝軟體傳送電子郵件。若要深入瞭解電子郵件傳遞或 Oracle Autonomous Database 中的 DBMS_CLOUD_NOTIFICATION,請參閱 Oracle Autonomous Database 文件

確認

其他學習資源

探索 docs.oracle.com/learn 的其他實驗室,或者存取更多 Oracle Learning YouTube 頻道上的免費學習內容。此外,請瀏覽 education.oracle.com/learning-explorer 以成為 Oracle Learning 檔案總管。

如需產品文件,請造訪 Oracle Help Center