本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 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_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 RDS和 SQL Server Agent
異地同步備份部署的考量
當您在多可用區域資料庫執行個體上設定 Database Mail 時,組態不會自動傳播至次要可用區。建議將多可用區域執行個體轉換為單一可用區執行個體、設定 Database Mail,然後將資料庫執行個體轉換回多可用區域。然後,主節點和次要節點均設有 Database Mail 組態。
如果您從已設定 Database Mail 的多可用區執行個體建立僅供讀取複本,複本會繼承組態,但沒有SMTP伺服器的密碼。使用密碼更新 Database Mail 帳戶。
移除 SMTP(連接埠 25) 限制
根據預設, 會 AWS 針對SQL伺服器資料庫執行個體封鎖 RDS SMTP(連接埠 25) 上的傳出流量。這是為了防止根據彈性網路介面擁有者的政策進行垃圾郵件。如有需要,您可以移除此限制。如需詳細資訊,請參閱如何從 Amazon EC2執行個體或 Lambda 函數中移除連接埠 25 的限制?