注意:
- 此教學課程需要存取 Oracle Cloud。若要註冊免費帳戶,請參閱開始使用 Oracle Cloud Infrastructure Free Tier 。
- 它會使用 Oracle Cloud Infrastructure 證明資料、租用戶及區間的範例值。完成實驗室時,請將這些值替代為您雲端環境特定的值。
使用 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 傳送查詢訊息和輸出。
必要條件
- 登入您的 Oracle Cloud 帳戶。
- 在您的區間中建立 Autonomous Database (ADB-S)。
作業 1:識別並設定 SMTP 連線
-
開啟導覽功能表,然後按一下開發人員服務。在應用程式整合底下,按一下電子郵件傳遞。
-
在資源功能表中,按一下組態。
-
公用端點:此區域用於接收電子郵件的公用端點。
-
SMTP 連接埠:用來接受電子郵件的 SMTP 連接埠。電子郵件傳遞支援連接埠 25 或 587 上的 TLS。
-
安全:此欄位指示是否使用 TLS (執行電子郵件傳輸加密的標準方法)。客戶在傳輸到 Oracle Cloud Infrastructure Email Delivery 服務時,必須加密電子郵件。加密的電子郵件在傳輸過程中不會被讀取。
-
作業 2:產生電子郵件傳遞的 SMTP 證明資料
-
檢視使用者詳細資訊:
- 如果您要為自己產生 SMTP 證明資料:開啟設定檔功能表,然後按一下使用者設定值或您的帳戶名稱。
- 如果您是管理員替其他使用者產生 SMTP 證明資料:請開啟導覽功能表,然後按一下識別與安全。在識別底下,按一下使用者。在清單中找出使用者,然後按一下使用者名稱以檢視詳細資料。
-
按一下 SMTP 證明資料。
-
按一下 Generate SMTP Credentials 。
-
在對話方塊中輸入 SMTP 證明資料的描述。
-
按一下 Generate SMTP Credentials 。將會顯示使用者名稱和密碼,如下所示。
作業 3:為電子郵件傳遞建立核准的寄件者
註冊用於電子郵件傳遞的寄件者電子郵件地址。
-
開啟導覽功能表,然後按一下開發人員服務。在應用程式整合底下,按一下電子郵件傳遞。在電子郵件傳遞底下,按一下核准的寄件者。請確定您是否位於正確的區間。使用者所屬的群組必須具備可管理此區間中已核准收件者的權限。
-
在核准的寄件者頁面上,按一下核准的寄件者。
-
在建立核准的寄件者對話方塊中,提供下列資訊:
- 輸入您想要列為核准寄件者的電子郵件地址。
- (選擇性) 新增標記以組織資源。若要套用定義的標記,您必須要有使用標記命名空間的權限。如需有關標記的詳細資訊,請參閱「資源標記」。如果您不確定是否要套用標記,請略過此選項 (您可以稍後套用標記),或詢問您的管理員。
-
按一下建立核准的寄件者 (Create Approved Sender) 。
-
電子郵件地址會新增至「核准的寄件者」清單。
注意:
作業 4:以電子郵件方式從 Oracle Autonomous Database 傳送訊息
-
佈建 Oracle Autonomous Database:前往「詳細資訊」頁面,然後按一下資料庫動作。系統會開啟「資料庫動作」的登入頁面。使用資料庫執行處理的預設管理員帳戶 Username - admin ,然後按一下下一步。「資料庫動作 (Database Actions)」頁面隨即開啟。在開發方塊中,按一下 SQL 。
-
建立證明資料物件,並使用
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
-
請確定按一下執行陳述式按鈕,以在「SQL 工作表」中加以執行。
程序順利完成後,您會收到電子郵件。
任務 5:從 Oracle Autonomous Database 以電子郵件傳送查詢結果
-
您可以使用
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; /
-
請確定按一下執行陳述式按鈕,以在「SQL 工作表」中加以執行。
程序順利完成後,您會收到電子郵件。
接下來的步驟
Oracle Autonomous Database 現在支援 DBMS_CLOUD_NOTIFICATION 套裝軟體,我們看到如何使用此套裝軟體傳送電子郵件。若要深入瞭解電子郵件傳遞或 Oracle Autonomous Database 中的 DBMS_CLOUD_NOTIFICATION,請參閱 Oracle Autonomous Database 文件。
相關連結
- 在 Autonomous Database 上使用電子郵件傳遞服務傳送電子郵件
- 在專用端點傳送電子郵件給電子郵件提供者
- 從 Autonomous Database 傳送 Slack 通知
- 從 Autonomous Database 傳送 Microsoft Teams 通知
確認
- 作者 - Priya Dhuriya (資深解決方案工程師)
其他學習資源
探索 docs.oracle.com/learn 的其他實驗室,或者存取更多 Oracle Learning YouTube 頻道上的免費學習內容。此外,請瀏覽 education.oracle.com/learning-explorer 以成為 Oracle Learning 檔案總管。
如需產品文件,請造訪 Oracle Help Center 。
Use the DBMS_CLOUD_NOTIFICATION package to send an email from Oracle Autonomous Database
F85877-01
August 2023
Copyright © 2023, Oracle and/or its affiliates.