在 Amazon RDS for SQL Server 上使用資料庫郵件 - Amazon Relational Database Service

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

在 Amazon RDS for SQL Server 上使用資料庫郵件

您可以使用 Database Mail,從您的 Amazon RDS on SQL Server 資料庫執行個體傳送電子郵件訊息給使用者。訊息可包含檔案和查詢結果。Database Mail 包含下列元件:

  • 設定和安全性物件 – 這些物件會建立設定檔和帳戶,並儲存在 msdb 資料庫中。

  • 傳訊物件 – 這些物件包括用來傳送訊息的 sp_send_dbmail 預存程序,以及保留訊息相關資訊的資料結構。這些物件會儲存在 msdb 資料庫中。

  • 記錄和稽核物件 – Database Mail會將記錄資訊寫入 msdb 資料庫和 Microsoft Windows 應用程式事件記錄檔。

  • Database Mail可執行檔DatabaseMail.exe 會從 msdb 資料庫中的佇列讀取,並傳送電子郵件訊息。

RDS 支援 Web、Standard 和 Enterprise Edition 上所有SQL伺服器版本的 Database Mail。

限制

下列限制適用於在SQL伺服器資料庫執行個體上使用 Database Mail:

  • SQL Server Express Edition 不支援 Database Mail。

  • 不支援修改 Database Mail 組態參數。若要查看預先設定的值 (預設值),請使用 sysmail_help_configure_sp 預存程序。

  • 不完全支援檔案附件。如需更多詳細資訊,請參閱 使用檔案附件

  • 檔案附件大小上限為 1 MB。

  • Database Mail 需要在多可用區域資料庫執行個體上設定其他組態。如需詳細資訊,請參閱異地同步備份部署的考量

  • 不支援設定 SQL Server Agent 將電子郵件訊息傳送至預先定義的運算子。

Database Mail 的 Amazon RDS預存程序和函數

Microsoft 提供使用 Database Mail 的預存程序,例如建立、列出、更新和刪除帳號和設定檔。此外, RDS 還提供下表所示的 Database Mail 預存程序和函數。

程序/函數 描述
rds_fn_sysmail_allitems 顯示已傳送的訊息,包括其他使用者提交的訊息。
rds_fn_sysmail_event_log 顯示事件,包括其他使用者提交訊息的事件。
rds_fn_sysmail_mailattachments 顯示附件,包括其他使用者提交訊息的附件。
rds_sysmail_control 啟動和停止郵件佇列 (.exe 程序)DatabaseMail。
rds_sysmail_delete_mailitems_sp 從 Database Mail 內部表格刪除所有使用者傳送的電子郵件訊息。

使用檔案附件

SQL 來自 RDS伺服器上的 Database Mail 訊息不支援下列檔案連接延伸:.ade、.adp、.apk、.appx、.appx、.bat、.bak、.cab、.chm、.cmd、.com、.cpl、.dll、.dmg、.exe、.hta、.inf1、.ins、.isp、.iso、.jar、.job、.js、.jse、.ldf、.lib、.lnk、.mde、.mdf、.msc、.msi、.msix、.ixbundle、.msp、.msp、.n.

Database Mail 會使用目前使用者的 Microsoft Windows 安全性內容來控制檔案的存取。使用SQL伺服器身分驗證登入的使用者無法透過sp_send_dbmail預存程序使用 @file_attachments 參數連接檔案。Windows 不允許SQL伺服器從遠端電腦提供憑證給其他遠端電腦。因此,當命令從執行 SQL Server 的電腦以外的電腦執行時, Database Mail 無法從網路共用連接檔案。

不過,您可以使用 SQL Server Agent 任務來連接檔案。如需有關 SQL Server Agent 的詳細資訊,請參閱 Microsoft 文件中的 使用 Amazon 的 SQL Server Agent RDSSQL Server Agent

異地同步備份部署的考量

當您在多可用區域資料庫執行個體上設定 Database Mail 時,組態不會自動傳播至次要可用區。建議將多可用區域執行個體轉換為單一可用區執行個體、設定 Database Mail,然後將資料庫執行個體轉換回多可用區域。然後,主節點和次要節點均設有 Database Mail 組態。

如果您從已設定 Database Mail 的多可用區執行個體建立僅供讀取複本,複本會繼承組態,但沒有SMTP伺服器的密碼。使用密碼更新 Database Mail 帳戶。

移除 SMTP(連接埠 25) 限制

根據預設, 會 AWS 針對SQL伺服器資料庫執行個體封鎖 RDS SMTP(連接埠 25) 上的傳出流量。這是為了防止根據彈性網路介面擁有者的政策進行垃圾郵件。如有需要,您可以移除此限制。如需詳細資訊,請參閱如何從 Amazon EC2執行個體或 Lambda 函數中移除連接埠 25 的限制?