

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

# 在 Amazon RDS for SQL Server 上使用 Database Mail
<a name="SQLServer.DBMail"></a>

您可以在 SQL Server 資料庫執行個體上使用 Database Mail，從您的 Amazon RDS 傳送電子郵件訊息給使用者。訊息可包含檔案和查詢結果。Database Mail 包含下列元件：
+ **設定和安全性物件** – 這些物件會建立設定檔和帳戶，並儲存在 `msdb` 資料庫中。
+ **傳訊物件** – 這些物件包括用來傳送訊息的 [sp\$1send\$1dbmail](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-send-dbmail-transact-sql) 預存程序，以及保留訊息相關資訊的資料結構。這些物件會儲存在 `msdb` 資料庫中。
+ **記錄和稽核物件 ** – Database Mail會將記錄資訊寫入 `msdb` 資料庫和 Microsoft Windows 應用程式事件記錄檔。
+ **Database Mail可執行檔** – `DatabaseMail.exe` 會從 `msdb` 資料庫中的佇列讀取，並傳送電子郵件訊息。

RDS 支援 Web、標準和企業版上的所有 SQL Server 版本的 Database Mail。

## 限制
<a name="SQLServer.DBMail.Limitations"></a>

在 SQL Server 資料庫執行個體上使用 Database Mail 時將適用下列限制：
+ Database Mail 不支援 SQL Server Express 版本。
+ 不支援修改 Database Mail 組態參數。若要查看預先設定的值 (預設值)，請使用 [sysmail\$1help\$1configure\$1sp](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sysmail-help-configure-sp-transact-sql) 預存程序。
+ 不完全支援檔案附件。如需更多詳細資訊，請參閱 [使用檔案附件](#SQLServer.DBMail.Files)。
+ 檔案附件大小上限為 1 MB。
+ Database Mail 需要在多可用區域資料庫執行個體上設定其他組態。如需更多詳細資訊，請參閱 [多可用區域部署考量](#SQLServer.DBMail.MAZ)。
+ 不支援將 SQL Server 代理程式設定為傳送電子郵件訊息給預先定義的運算子。

# 啟用 Database Mail
<a name="SQLServer.DBMail.Enable"></a>

請使用下列程序啟用資料庫執行個體的 Database Mail：

1. 建立新的參數群組。

1. 修改參數群組，將 `database mail xps` 參數設定為 1。

1. 將參數群組與資料庫執行個體建立關聯。

## 建立 Database Mail 的參數群組
<a name="DBMail.CreateParamGroup"></a>

為對應到 SQL Server 版本和資料庫執行個體版本的 `database mail xps` 參數建立參數群組。

**注意**  
您也可以修改現有的參數群組。請遵循 [修改啟用 Database Mail 的參數](#DBMail.ModifyParamGroup) 中的程序。

### 主控台
<a name="DBMail.CreateParamGroup.Console"></a>

下列範例會建立 SQL Server Standard Edition 2016 的參數群組。

**建立參數群組**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)：// 開啟 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Parameter groups** (參數群組)。

1. 選擇 **Create parameter group (建立參數群組)**。

1. 在 **Create parameter group (建立參數群組)** 窗格中執行下列動作：

   1. 對於 **Parameter group family (參數群組家族)**，請選擇 **sqlserver-se-13.0**。

   1. 對於 **Group name (群組名稱)**，輸入參數群組的識別碼，例如 **dbmail-sqlserver-se-13**。

   1. 對於 **Description (說明)**，輸入 **Database Mail XPs**。

1. 選擇**建立**。

### CLI
<a name="DBMail.CreateParamGroup.CLI"></a>

下列範例會建立 SQL Server Standard Edition 2016 的參數群組。

**建立參數群組**
+ 請使用下列其中一個命令。  
**Example**  

  對於 Linux、macOS 或 Unix：

  ```
  aws rds create-db-parameter-group \
      --db-parameter-group-name dbmail-sqlserver-se-13 \
      --db-parameter-group-family "sqlserver-se-13.0" \
      --description "Database Mail XPs"
  ```

  在 Windows 中：

  ```
  aws rds create-db-parameter-group ^
      --db-parameter-group-name dbmail-sqlserver-se-13 ^
      --db-parameter-group-family "sqlserver-se-13.0" ^
      --description "Database Mail XPs"
  ```

## 修改啟用 Database Mail 的參數
<a name="DBMail.ModifyParamGroup"></a>

修改參數群組中對應至 SQL Server 版本和資料庫執行個體版本的 `database mail xps` 參數。

若要啟用 Database Mail，請將 `database mail xps` 參數設定為 1。

### 主控台
<a name="DBMail.ModifyParamGroup.Console"></a>

下列範例會修改您為 SQL Server Standard Edition 2016 所建立的參數群組。

**修改參數群組**

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 開啟 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Parameter groups (參數群組)**。

1. 選擇參數群組，例如 **dbmail-sqlserver-se-13**。

1. 在 **Parameters (參數)** 下，篩選 **mail** 的參數清單。

1. 選擇 **database mail xps**。

1. 選擇 **Edit parameters** (編輯參數)。

1. 輸入 **1**。

1. 選擇**儲存變更**。

### CLI
<a name="DBMail.ModifyParamGroup.CLI"></a>

下列範例會修改您為 SQL Server Standard Edition 2016 所建立的參數群組。

**修改參數群組**
+ 請使用下列其中一個命令。  
**Example**  

  對於 Linux、macOS 或 Unix：

  ```
  aws rds modify-db-parameter-group \
      --db-parameter-group-name dbmail-sqlserver-se-13 \
      --parameters "ParameterName='database mail xps',ParameterValue=1,ApplyMethod=immediate"
  ```

  在 Windows 中：

  ```
  aws rds modify-db-parameter-group ^
      --db-parameter-group-name dbmail-sqlserver-se-13 ^
      --parameters "ParameterName='database mail xps',ParameterValue=1,ApplyMethod=immediate"
  ```

## 將參數群組與資料庫執行個體建立關聯
<a name="DBMail.AssocParamGroup"></a>

您可以使用 AWS 管理主控台 或 AWS CLI ，將 Database Mail 參數群組與資料庫執行個體建立關聯。

### 主控台
<a name="DBMail.AssocParamGroup.Console"></a>

您可以將 Database Mail 參數群組與新的或現有的資料庫執行個體建立關聯。
+ 對於新的資料庫執行個體，請在啟動執行個體時建立關聯。如需更多詳細資訊，請參閱 [建立 Amazon RDS 資料庫執行個體](USER_CreateDBInstance.md)。
+ 對於現有的資料庫執行個體，請透過修改執行個體來建立關聯。如需詳細資訊，請參閱[修改 Amazon RDS 資料庫執行個體](Overview.DBInstance.Modifying.md)。

### CLI
<a name="DBMail.AssocParamGroup.CLI"></a>

您可以將 Database Mail 參數群組與新的或現有的資料庫執行個體建立關聯。

**使用 Database Mail 參數群組建立資料庫執行個體**
+ 指定建立參數群組時所使用的相同資料庫引擎類型和主要版本。  
**Example**  

  針對 Linux、macOS 或 Unix：

  ```
  aws rds create-db-instance \
      --db-instance-identifier mydbinstance \
      --db-instance-class db.m5.2xlarge \
      --engine sqlserver-se \
      --engine-version 13.00.5426.0.v1 \
      --allocated-storage 100 \
      --manage-master-user-password \
      --master-username admin \
      --storage-type gp2 \
      --license-model li
      --db-parameter-group-name dbmail-sqlserver-se-13
  ```

  在 Windows 中：

  ```
  aws rds create-db-instance ^
      --db-instance-identifier mydbinstance ^
      --db-instance-class db.m5.2xlarge ^
      --engine sqlserver-se ^
      --engine-version 13.00.5426.0.v1 ^
      --allocated-storage 100 ^
      --manage-master-user-password ^
      --master-username admin ^
      --storage-type gp2 ^
      --license-model li ^
      --db-parameter-group-name dbmail-sqlserver-se-13
  ```

**修改資料庫執行個體並關聯 Database Mail 參數群組**
+ 請使用下列其中一個命令。  
**Example**  

  對於 Linux、macOS 或 Unix：

  ```
  aws rds modify-db-instance \
      --db-instance-identifier mydbinstance \
      --db-parameter-group-name dbmail-sqlserver-se-13 \
      --apply-immediately
  ```

  在 Windows 中：

  ```
  aws rds modify-db-instance ^
      --db-instance-identifier mydbinstance ^
      --db-parameter-group-name dbmail-sqlserver-se-13 ^
      --apply-immediately
  ```

# 設定 Database Mail
<a name="SQLServer.DBMail.Configure"></a>

您可以執行下列任務來設定 Database Mail：

1. 建立 Database Mail 設定檔。

1. 建立 Database Mail 帳戶。

1. 將 Database Mail 帳戶新增至 Database Mail 設定檔。

1. 將使用者新增至 Database Mail 設定檔。

**注意**  
若要設定 Database Mail，請確認您具有 `execute` 資料庫中預存程序的 `msdb` 許可。

## 建立 Database Mail 設定檔
<a name="SQLServer.DBMail.Configure.Profile"></a>

若要建立 Database Mail 設定檔，您可以使用 [sysmail\$1add\$1sp](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sysmail-add-profile-sp-transact-sql) 預存程序。以下範例會建立名為 `Notifications` 的設定檔。

**建立設定檔**
+ 使用下列 SQL 陳述式。

  ```
  USE msdb
  GO
  
  EXECUTE msdb.dbo.sysmail_add_profile_sp  
      @profile_name         = 'Notifications',  
      @description          = 'Profile used for sending outgoing notifications using Amazon SES.';
  GO
  ```

## 建立 Database Mail 帳戶
<a name="SQLServer.DBMail.Configure.Account"></a>

若要建立 Database Mail 帳戶，您可以使用 [sysmail\$1add\$1account\$1sp](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sysmail-add-account-sp-transact-sql) 預存程序。下列範例使用 Amazon Simple Email Service，在私有 VPC 中的 RDS for SQL Server 資料庫執行個體上建立一個名為 `SES` 的帳戶。

使用 Amazon SES 需要下列參數：
+ `@email_address` – 一個 Amazon SES 驗證身分。如需詳細資訊，請參閱[在 Amazon SES 中驗證身分](https://docs.aws.amazon.com/ses/latest/dg/verify-addresses-and-domains.html)。
+ `@mailserver_name` – 一個 Amazon SES SMTP 端點。如需詳細資訊，請參閱[連線至 Amazon SES SMTP 端點](https://docs.aws.amazon.com/ses/latest/dg/smtp-connect.html)。
+ `@username` – 一個 Amazon SES SMTP 使用者名稱。如需詳細資訊，請參閱[取得 Amazon SES SMTP 憑證](https://docs.aws.amazon.com/ses/latest/dg/smtp-credentials.html)。

  請勿使用 AWS Identity and Access Management 使用者名稱。
+ `@password` – 一個 Amazon SES SMTP 密碼。如需詳細資訊，請參閱[取得 Amazon SES SMTP 憑證](https://docs.aws.amazon.com/ses/latest/dg/smtp-credentials.html)。

**建立帳戶**
+ 使用下列 SQL 陳述式。

  ```
  USE msdb
  GO
  
  EXECUTE msdb.dbo.sysmail_add_account_sp
      @account_name        = 'SES',
      @description         = 'Mail account for sending outgoing notifications.',
      @email_address       = 'nobody@example.com',
      @display_name        = 'Automated Mailer',
      @mailserver_name     = 'vpce-0a1b2c3d4e5f-01234567.email-smtp.us-west-2.vpce.amazonaws.com',
      @port                = 587,
      @enable_ssl          = 1,
      @username            = 'Smtp_Username',
      @password            = 'Smtp_Password';
  GO
  ```
**注意**  
指定此處所顯示提示以外的憑證，作為安全最佳實務。

## 將 Database Mail 帳戶新增至 Database Mail 設定檔
<a name="SQLServer.DBMail.Configure.AddAccount"></a>

若要將 Database Mail 帳戶新增至 Database Mail 設定檔，您可以使用 [sysmail\$1add\$1profileaccount\$1sp](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sysmail-add-profileaccount-sp-transact-sql) 預存程序。下列範例會將 `SES` 帳戶新增至 `Notifications` 設定檔。

**將帳戶新增至設定檔**
+ 使用下列 SQL 陳述式。

  ```
  USE msdb
  GO
  
  EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
      @profile_name        = 'Notifications',
      @account_name        = 'SES',
      @sequence_number     = 1;
  GO
  ```

## 將使用者新增至 Database Mail 設定檔
<a name="SQLServer.DBMail.Configure.AddUser"></a>

若要授與 `msdb` 資料庫主體使用 Database Mail 設定檔的許可，您可以使用 [sysmail\$1add\$1principalprofile\$1sp](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sysmail-add-principalprofile-sp-transact-sql) 預存程序。*主體*是可以要求 SQL Server 資源的實體。資料庫主體必須對應至 SQL Server 身分驗證使用者、Windows 身分驗證使用者或 Windows 身分驗證群組。

下列範例會授與 `Notifications` 設定檔的公開存取權。

**將使用者新增至設定檔**
+ 使用下列 SQL 陳述式。

  ```
  USE msdb
  GO
  
  EXECUTE msdb.dbo.sysmail_add_principalprofile_sp  
      @profile_name       = 'Notifications',  
      @principal_name     = 'public',  
      @is_default         = 1;
  GO
  ```

## 適用於 Database Mail 的 Amazon RDS 預存程序和函數
<a name="SQLServer.DBMail.StoredProc"></a>

Microsoft 提供使用 Database Mail 的[預存程序](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/database-mail-stored-procedures-transact-sql)，例如建立、列出、更新和刪除帳號和設定檔。此外，RDS 還提供適用於 Database Mail 的預存程序和函數，如下表所示。


| 程序/函數 | 描述 | 
| --- | --- | 
| rds\$1fn\$1sysmail\$1allitems | 顯示已傳送的訊息，包括其他使用者提交的訊息。 | 
| rds\$1fn\$1sysmail\$1event\$1log | 顯示事件，包括其他使用者提交訊息的事件。 | 
| rds\$1fn\$1sysmail\$1mailattachments | 顯示附件，包括其他使用者提交訊息的附件。 | 
| rds\$1sysmail\$1control | 啟動和停止郵件佇列 (DatabaseMail.exe 處理程序)。 | 
| rds\$1sysmail\$1delete\$1mailitems\$1sp | 從 Database Mail 內部表格刪除所有使用者傳送的電子郵件訊息。 | 

# 使用 Database Mail 傳送電子郵件訊息
<a name="SQLServer.DBMail.Send"></a>

您可以使用 [sp\$1send\$1dbmail](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-send-dbmail-transact-sql) 預存程序來利用 Database Mail 傳送電子郵件訊息。

## Usage
<a name="SQLServer.DBMail.Send.Usage"></a>

```
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'profile_name',
@recipients = 'recipient1@example.com[; recipient2; ... recipientn]',
@subject = 'subject',
@body = 'message_body',
[@body_format = 'HTML'],
[@file_attachments = 'file_path1; file_path2; ... file_pathn'],
[@query = 'SQL_query'],
[@attach_query_result_as_file = 0|1]';
```

下列是必要參數：
+ `@profile_name` – 要從中傳送訊息的 Database Mail 設定檔名稱。
+ `@recipients` – 要傳送訊息的電子郵件地址的清單 (以分號分隔)。
+ `@subject` – 訊息的主旨。
+ `@body` – 訊息的內文。您也可以使用已宣告的變數作為內文。

下列是選用參數：
+ `@body_format` – 此參數與已宣告的變數一起使用，以 HTML 格式傳送電子郵件。
+ `@file_attachments` – 訊息附件清單 (以分號分隔)。檔案路徑必須是絕對路徑。
+ `@query` – 要執行的 SQL 查詢。查詢結果可以作為檔案貼加，也可以包含在訊息內文中。
+ `@attach_query_result_as_file` – 是否將查詢結果附加為檔案。設定為 0 表示否，1 表示是。預設值為 0。

## 範例
<a name="SQLServer.DBMail.Send.Examples"></a>

下列範例示範如何傳送電子郵件訊息。

**Example 傳送訊息給單一收件人**  

```
USE msdb
GO

EXEC msdb.dbo.sp_send_dbmail
     @profile_name       = 'Notifications',
     @recipients         = 'nobody@example.com',
     @subject            = 'Automated DBMail message - 1',
     @body               = 'Database Mail configuration was successful.';
GO
```

**Example 傳送訊息給多位收件人**  

```
USE msdb
GO

EXEC msdb.dbo.sp_send_dbmail
     @profile_name       = 'Notifications',
     @recipients         = 'recipient1@example.com;recipient2@example.com',
     @subject            = 'Automated DBMail message - 2',
     @body               = 'This is a message.';
GO
```

**Example 將 SQL 查詢結果作為檔案附件傳送**  

```
USE msdb
GO

EXEC msdb.dbo.sp_send_dbmail
     @profile_name       = 'Notifications',
     @recipients         = 'nobody@example.com',
     @subject            = 'Test SQL query',
     @body               = 'This is a SQL query test.',
     @query              = 'SELECT * FROM abc.dbo.test',
     @attach_query_result_as_file = 1;
GO
```

**Example 以 HTML 格式傳送訊息**  

```
USE msdb
GO

DECLARE @HTML_Body as NVARCHAR(500) = 'Hi, <h4> Heading </h4> </br> See the report. <b> Regards </b>';

EXEC msdb.dbo.sp_send_dbmail
     @profile_name       = 'Notifications',
     @recipients         = 'nobody@example.com',
     @subject            = 'Test HTML message',
     @body               = @HTML_Body,
     @body_format        = 'HTML';
GO
```

**Example 在資料庫中發生特定事件時使用觸發器傳送訊息**  

```
USE AdventureWorks2017
GO
IF OBJECT_ID ('Production.iProductNotification', 'TR') IS NOT NULL
DROP TRIGGER Purchasing.iProductNotification
GO

CREATE TRIGGER iProductNotification ON Production.Product
   FOR INSERT
   AS
   DECLARE @ProductInformation nvarchar(255);
   SELECT
   @ProductInformation = 'A new product, ' + Name + ', is now available for $' + CAST(StandardCost AS nvarchar(20)) + '!'
   FROM INSERTED i;

EXEC msdb.dbo.sp_send_dbmail
     @profile_name       = 'Notifications',
     @recipients         = 'nobody@example.com',
     @subject            = 'New product information',
     @body               = @ProductInformation;
GO
```

# 檢視郵件、記錄檔和附件
<a name="SQLServer.DBMail.View"></a>

您可以使用 RDS 預存程序來檢視訊息、事件記錄檔和附件。

**檢視所有電子郵件訊息**
+ 使用下列 SQL 查詢：

  ```
  SELECT * FROM msdb.dbo.rds_fn_sysmail_allitems(); --WHERE sent_status='sent' or 'failed' or 'unsent'
  ```

**檢視所有電子郵件事件記錄檔**
+ 使用下列 SQL 查詢：

  ```
  SELECT * FROM msdb.dbo.rds_fn_sysmail_event_log();
  ```

**檢視所有電子郵件附件**
+ 使用下列 SQL 查詢：

  ```
  SELECT * FROM msdb.dbo.rds_fn_sysmail_mailattachments();
  ```

# 刪除訊息
<a name="SQLServer.DBMail.Delete"></a>

您可以使用 `rds_sysmail_delete_mailitems_sp` 預存程序來刪除訊息。

**注意**  
當 DBMail 歷程記錄資料大小達到 1 GB，且保留期限至少為 24 小時，RDS 會自動刪除郵件表格項目。  
如果您想要將郵件項目保留一段較長的時間，可以將其封存。如需詳細資訊，請參閱 Microsoft 文件中的[建立 SQL Server Agent 作業以封存 Database Mail 訊息及事件記錄檔](https://docs.microsoft.com/en-us/sql/relational-databases/database-mail/create-a-sql-server-agent-job-to-archive-database-mail-messages-and-event-logs)。

**刪除所有電子郵件訊息**
+ 使用下列 SQL 陳述式。

  ```
  DECLARE @GETDATE datetime
  SET @GETDATE = GETDATE();
  EXECUTE msdb.dbo.rds_sysmail_delete_mailitems_sp @sent_before = @GETDATE;
  GO
  ```

**刪除所有具有特定狀態的電子郵件**
+ 使用下列 SQL 陳述式刪除所有失敗的訊息。

  ```
  DECLARE @GETDATE datetime
  SET @GETDATE = GETDATE();
  EXECUTE msdb.dbo.rds_sysmail_delete_mailitems_sp @sent_status = 'failed';
  GO
  ```

# 啟動和停止郵件佇列
<a name="SQLServer.DBMail.StartStop"></a>

使用下列指示，啟動和停止資料庫郵件佇列：

**Topics**
+ [啟動郵件佇列](#SQLServer.DBMail.Start)
+ [停用郵件佇列](#SQLServer.DBMail.Stop)

## 啟動郵件佇列
<a name="SQLServer.DBMail.Start"></a>

您可以使用 `rds_sysmail_control` 預存程序來啟動 Database Mail 處理程序。

**注意**  
啟用 Database Mail 會自動啟動郵件佇列。

**啟動郵件佇列**
+ 使用下列 SQL 陳述式。

  ```
  EXECUTE msdb.dbo.rds_sysmail_control start;
  GO
  ```

## 停用郵件佇列
<a name="SQLServer.DBMail.Stop"></a>

您可以使用 `rds_sysmail_control` 預存程序來停止 Database Mail 處理程序。

**停止郵件佇列**
+ 使用下列 SQL 陳述式。

  ```
  EXECUTE msdb.dbo.rds_sysmail_control stop;
  GO
  ```

## 使用檔案附件
<a name="SQLServer.DBMail.Files"></a>

在 SQL Server 上，來自 RDS 的 Database Mail 訊息不支援下列檔案附件副檔名：.ade、.adp、.apk、.appx、.appxbundle、.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、.msixbundle、.msp、.mst、.nsh、.pif、.ps、.ps1、.psc1、.reg、.rgs、.scr、.sct、.shb、.shs、.svg、.sys、.u3p、.vb、.vbe、.vbs、.vbscript、.vxd、.ws、.wsc、.wsf 和 .wsh。

Database Mail 會使用目前使用者的 Microsoft Windows 安全性內容來控制檔案的存取。使用 SQL Server 身分驗證登入的使用者無法使用 `@file_attachments` 預存程序的 `sp_send_dbmail` 參數附加檔案。Windows 不允許 SQL Server 將登入資料從遠端電腦提供給另一台遠端電腦。因此，從非執行 SQL Server 的電腦執行命令時，Database Mail 無法從網路共用附加檔案。

不過，您可以使用 SQL Server 代理程式任務來附加檔案。如需有關 SQL Server 代理程式的詳細資訊，請參閱 [使用 SQL Server Agent for Amazon RDS](Appendix.SQLServer.CommonDBATasks.Agent.md) 和 Microsoft 文件中的 [SQL Server 代理程式](https://docs.microsoft.com/en-us/sql/ssms/agent/sql-server-agent)。

## 多可用區域部署考量
<a name="SQLServer.DBMail.MAZ"></a>

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

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

## 移除 SMTP (連接埠 25) 限制
<a name="SQLServer.DBMail.SMTP"></a>

根據預設，AWS 會為 RDS for SQL Server 資料庫執行個體封鎖 SMTP (連接埠 25) 上的輸出流量。這是為了根據彈性網路介面擁有者的政策防止垃圾郵件。如有需要，您可以移除此限制。如需詳細資訊，請參閱[如何從我的 Amazon EC2 執行個體或 Lambda 函數中移除連接埠 25 的限制？](https://repost.aws/knowledge-center/ec2-port-25-throttle)。