在 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 文件中的 使用 SQL Server Agent for Amazon 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 的限制?