

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Utilizzo di Database Mail su Amazon RDS for SQL Server
<a name="SQLServer.DBMail"></a>

Puoi utilizzare Database Mail per inviare messaggi di posta elettronica agli utenti da Amazon RDS dall'istanza database di SQL Server. I messaggi possono contenere file e risultati delle query. Database Mail include i seguenti componenti:
+ **Oggetti di configurazione e sicurezza** – Questi oggetti creano profili e account e sono memorizzati nel database `msdb`.
+ **Oggetti di messaggistica** – Questi oggetti includono la stored procedure [sp\$1send\$1dbmail](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-send-dbmail-transact-sql) utilizzata per inviare messaggi e strutture di dati che contengono informazioni sui messaggi. Sono memorizzati nel database `msdb`.
+ **Oggetti di registrazione e controllo** – Database Mail scrive le informazioni di registrazione nel database `msdb` e nel registro eventi applicazioni di Microsoft Windows.
+ **Eseguibile di Database Mail** – `DatabaseMail.exe` legge da una coda nel database `msdb` e invia messaggi di posta elettronica.

RDS supporta Database Mail per tutte le versioni di SQL Server nelle edizioni Web, Standard ed Enterprise.

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

Le seguenti limitazioni si applicano all'utilizzo di posta elettronica di database nell'istanza database di SQL Server:
+ Database Mail non è supportato per SQL Server Express Edition.
+ La modifica dei parametri di configurazione di Database Mail non è supportata. Per visualizzare i valori predefiniti, utilizza la stored procedure [sysmail\$1help\$1configure\$1sp](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sysmail-help-configure-sp-transact-sql) .
+ Gli allegati dei file non sono completamente supportati. Per ulteriori informazioni, consulta [Utilizzo di file allegati](#SQLServer.DBMail.Files).
+ La dimensione massima del file allegato è 1 MB.
+ Database Mail richiede una configurazione aggiuntiva su istanze database multi-AZ. Per ulteriori informazioni, consulta [Considerazioni per le implementazioni Multi-AZ](#SQLServer.DBMail.MAZ).
+ La configurazione di SQL Server Agent per l'invio di messaggi di posta elettronica agli operatori predefiniti non è supportata.

# Abilitazione di Database Mail
<a name="SQLServer.DBMail.Enable"></a>

Per abilitare Database Mail per l'istanza database, completa la seguente procedura:

1. Crea un nuovo set di parametri.

1. Modificare il gruppo di parametri per impostare il parametro `database mail xps` su 1 o 2.

1. Associa il nuovo gruppo di parametri all'istanza database.

## Creazione del gruppo di parametri per Database Mail
<a name="DBMail.CreateParamGroup"></a>

Crea o modifica un gruppo di parametri per il parametro `database mail xps` corrispondente all'edizione di SQL Server e alla versione dell'istanza database.

**Nota**  
Puoi anche modificare un gruppo di parametri esistente. Segui la procedura riportata in [Modifica del parametro che abilita Database Mail](#DBMail.ModifyParamGroup).

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

Nell'esempio seguente viene creato un gruppo di parametri per SQL Server Standard Edition 2016.

**Per creare il gruppo di parametri**

1. Accedi a Console di gestione AWS e apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel pannello di navigazione, scegli **Parameter groups** (Gruppi di parametri).

1. Scegliere **Create parameter group (Crea gruppo di parametri)**.

1. Nel riquadro **Create parameter group (Crea gruppi di parametri)**, procedi nel modo seguente:

   1. Per **Famiglia del gruppo di parametri**, scegliere **sqlserver-se-13.0**.

   1. Per **Group name (Nome gruppo)**, immettere un identificatore per il gruppo di parametri, ad esempio **dbmail-sqlserver-se-13**.

   1. Per **Description (Descrizione)**, immettere **Database Mail XPs**.

1. Scegliere **Create (Crea)**.

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

Nell'esempio seguente viene creato un gruppo di parametri per SQL Server Standard Edition 2016.

**Per creare il gruppo di parametri**
+ Utilizzare uno dei seguenti comandi.  
**Example**  

  Per Linux, macOS o 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"
  ```

  Per 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"
  ```

## Modifica del parametro che abilita Database Mail
<a name="DBMail.ModifyParamGroup"></a>

Modifica il parametro `database mail xps` nel gruppo di parametri che corrisponde all'edizione di SQL Server e alla versione dell'istanza database.

Per abilitare Database Mail, imposta il `database mail xps` parametro su 1.

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

Nell'esempio seguente il gruppo di parametri creato per SQL Server Standard Edition 2016 viene modificato.

**Per modificare il gruppo di parametri**

1. Accedi a Console di gestione AWS e apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel riquadro di navigazione scegliere **Parameter groups (Gruppi di parametri)**.

1. Scegli il gruppo di parametri, ad esempio **dbmail-sqlserver-se-13**.

1. In **Parameters (Parametri)**, filtrare l'elenco dei parametri per **mail**.

1. Seleziona **database mail xps**.

1. Scegliere **Edit parameters (Modifica parametri)**.

1. Specificare (sì **1**.

1. Scegli **Save changes** (Salva modifiche).

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

Nell'esempio seguente il gruppo di parametri creato per SQL Server Standard Edition 2016 viene modificato.

**Per modificare il gruppo di parametri**
+ Utilizzare uno dei seguenti comandi.  
**Example**  

  Per Linux, macOS o Unix:

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

  Per Windows:

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

## Associazione del gruppo di parametri all'istanza database
<a name="DBMail.AssocParamGroup"></a>

È possibile utilizzare Console di gestione AWS o the AWS CLI per associare il gruppo di parametri Database Mail all'istanza DB.

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

Puoi associare il gruppo di parametri di Database Mail a un'istanza database nuova o esistente.
+ Per una nuova istanza database, associarli all'avvio dell'istanza. Per ulteriori informazioni, consulta [Creazione di un'istanza database Amazon RDS](USER_CreateDBInstance.md).
+ Per un'istanza database esistente, associarli modificando l'istanza. Per ulteriori informazioni, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md).

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

Puoi associare il gruppo di parametri di Database Mail a un'istanza database nuova o esistente.

**Per creare un'istanza database con il gruppo di parametri di Database Mail**
+ Specificare lo stesso tipo di motore di database e la versione principale utilizzati durante la creazione del gruppo di parametri.  
**Example**  

  Per Linux, macOS o 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
  ```

  Per 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
  ```

**Per modificare un'istanza database e associare il gruppo di parametri di Database Mail**
+ Utilizzare uno dei seguenti comandi.  
**Example**  

  Per Linux, macOS o Unix:

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

  Per Windows:

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

# Configurazione di Database Mail
<a name="SQLServer.DBMail.Configure"></a>

Per configurare Database Mail, puoi completare le attività riportate di seguito.

1. Crea il profilo Database Mail.

1. Crea l'account Database Mail.

1. Aggiungi l'account Database Mail al profilo Database Mail.

1. Aggiungi utenti al profilo Database Mail.

**Nota**  
Per configurare Database Mail, assicurati di disporre delle autorizzazioni `execute` per le stored procedure nel database `msdb`.

## Creazione del profilo Database Mail
<a name="SQLServer.DBMail.Configure.Profile"></a>

Per creare il profilo Database Mail, utilizza la stored procedure [sysmail\$1add\$1profile\$1sp](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sysmail-add-profile-sp-transact-sql) . Nell’esempio seguente viene creato un profilo denominato `Notifications`.

**Per creare il profilo**
+ Utilizza la seguente istruzione 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
  ```

## Creazione dell'account Database Mail
<a name="SQLServer.DBMail.Configure.Account"></a>

Per creare l'account Database Mail, utilizza la stored procedure [sysmail\$1add\$1account\$1sp](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sysmail-add-account-sp-transact-sql) . Nell'esempio seguente viene creato un account denominato `SES` in un'istanza DB RDS per SQL Server in un VPC privato utilizzando Amazon Simple Email Service.

L'utilizzo di Amazon SES richiede i parametri seguenti:
+ `@email_address`: un'identità verificata da Amazon SES. Per ulteriori informazioni su , consulta [Verifica delle identità in Amazon SES](https://docs.aws.amazon.com/ses/latest/dg/verify-addresses-and-domains.html).
+ `@mailserver_name`: un endpoint SMTP Amazon SES. Per ulteriori informazioni, consulta [Connessione a un endpoint SMTP Amazon SES](https://docs.aws.amazon.com/ses/latest/dg/smtp-connect.html).
+ `@username`: un nome utente SMTP Amazon SES. Per ulteriori informazioni, consulta [Come ottenere le credenziali SMTP in Amazon SES](https://docs.aws.amazon.com/ses/latest/dg/smtp-credentials.html).

  Non utilizzare un nome AWS Identity and Access Management utente.
+ `@password`: password SMTP Amazon SES. Per ulteriori informazioni, consulta [Come ottenere le credenziali SMTP in Amazon SES](https://docs.aws.amazon.com/ses/latest/dg/smtp-credentials.html).

**Per creare l'account**
+ Utilizza la seguente istruzione 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
  ```
**Nota**  
Specifica credenziali diverse dai prompt mostrati qui come best practice per la sicurezza.

## Aggiunta dell'account Database Mail al profilo Database Mail
<a name="SQLServer.DBMail.Configure.AddAccount"></a>

Per aggiungere l'account Database Mail al profilo Database Mail, utilizza la stored procedure [sysmail\$1add\$1profileaccount\$1sp](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sysmail-add-profileaccount-sp-transact-sql) . Nell'esempio seguente viene aggiunto l'account `SES` al profilo `Notifications`.

**Per aggiungere l'account al profilo**
+ Utilizza la seguente istruzione SQL.

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

## Aggiunta di utenti al profilo Database Mail
<a name="SQLServer.DBMail.Configure.AddUser"></a>

Per concedere l'autorizzazione a un principal di database `msdb` per l'utilizzo di un profilo Database Mail, utilizza la stored procedure [sysmail\$1add\$1principalprofile\$1sp](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sysmail-add-principalprofile-sp-transact-sql) . Un *principal* è un'entità che può richiedere risorse di SQL Server. Il principal del database deve essere mappato a un utente di autenticazione di SQL Server, un utente di autenticazione di Windows o un gruppo di autenticazione di Windows.

Nell'esempio seguente viene concesso l'accesso pubblico al profilo `Notifications`.

**Per aggiungere un utente al profilo**
+ Utilizza la seguente istruzione SQL.

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

## Amazon RDS stored procedure e funzioni per Database Mail
<a name="SQLServer.DBMail.StoredProc"></a>

Microsoft fornisce [Procedure archiviate](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/database-mail-stored-procedures-transact-sql) per l'utilizzo di Mail database, ad esempio la creazione, l'elenco, l'aggiornamento ed eliminazione di account e profili. Inoltre, RDS fornisce le stored procedure e le funzioni per Database Mail riportate nella tabella seguente.


| Stored procedure/Funzione | Descrizione | 
| --- | --- | 
| rds\$1fn\$1sysmail\$1allitems | Mostra i messaggi inviati, inclusi quelli inviati da altri utenti. | 
| rds\$1fn\$1sysmail\$1event\$1log | Mostra gli eventi, inclusi quelli relativi ai messaggi inviati da altri utenti. | 
| rds\$1fn\$1sysmail\$1mailattachments | Mostra gli allegati, inclusi quelli inviati da altri utenti. | 
| rds\$1sysmail\$1control | Avvia e arresta la coda di posta elettronica (processo DatabaseMail.exe). | 
| rds\$1sysmail\$1delete\$1mailitems\$1sp | Elimina i messaggi di posta elettronica inviati da tutti gli utenti dalle tabelle interne a Database Mail. | 

# Invio di messaggi di posta elettronica tramite Database Mail
<a name="SQLServer.DBMail.Send"></a>

Per inviare messaggi di posta elettronica utilizzando Database Mail, puoi utilizzare la stored procedure [sp\$1send\$1dbmail](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-send-dbmail-transact-sql). 

## Utilizzo
<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]';
```

I parametri seguenti sono obbligatori:
+ `@profile_name` – Il nome del profilo Database Mail da cui inviare il messaggio.
+ `@recipients` – L’elenco delimitato da punto e virgola di indirizzi di posta elettronica a cui inviare il messaggio.
+ `@subject` – L'oggetto del messaggio.
+ `@body` – Il corpo del messaggio. Puoi inoltre utilizzare una variabile dichiarata come corpo.

I parametri seguenti sono facoltativi:
+ `@body_format` – Questo parametro viene utilizzato con una variabile dichiarata per inviare e-mail in formato HTML.
+ `@file_attachments` – L’elenco delimitato da punto e virgola degli allegati dei messaggi. I percorsi dei file devono essere percorsi assoluti.
+ `@query` – Una query SQL da eseguire. I risultati della query possono essere allegati come file o inclusi nel corpo del messaggio.
+ `@attach_query_result_as_file` – Indica se allegare il risultato della query come file. Imposta su 0 per no, 1 per sì. Il valore predefinito è 0.

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

Negli esempi seguenti viene illustrato come inviare messaggi di posta elettronica.

**Example di invio di un messaggio a un singolo destinatario**  

```
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 di invio di un messaggio a più destinatari**  

```
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 di invio di un risultato di una query SQL come file allegato**  

```
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 di invio di un messaggio in formato 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 di invio di un messaggio utilizzando un trigger quando si verifica un evento specifico nel database**  

```
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
```

# Visualizzazione di messaggi, log e allegati
<a name="SQLServer.DBMail.View"></a>

È possibile utilizzare le stored procedure RDS per visualizzare messaggi, log di eventi e allegati.

**Per visualizzare tutti i messaggi di posta elettronica**
+ Digita la seguente query SQL:

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

**Per visualizzare tutti i log di eventi di posta elettronica**
+ Digita la seguente query SQL:

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

**Per visualizzare tutti gli allegati di posta elettronica**
+ Digita la seguente query SQL:

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

# Eliminazione dei messaggi
<a name="SQLServer.DBMail.Delete"></a>

Per eliminare i messaggi, puoi utilizzare la stored procedure `rds_sysmail_delete_mailitems_sp`.

**Nota**  
RDS elimina automaticamente gli elementi della tabella di posta quando i dati della cronologia di DBMail raggiungono le dimensioni di 1 GB, con un periodo di conservazione di almeno 24 ore.  
Se desideri conservare gli elementi di posta per un periodo più lungo, puoi archiviarli. Per maggiori informazioni, consulta [Creazione di un processo di SQL Server Agent per archiviare i messaggi di Database Mail e i log di eventi](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) nella documentazione di Microsoft.

**Per eliminare tutti i messaggi di posta elettronica**
+ Utilizza la seguente istruzione SQL.

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

**Per eliminare tutti i messaggi di posta elettronica con uno stato particolare**
+ Utilizza la seguente istruzione SQL per eliminare tutti i messaggi non riusciti.

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

# Avvio e arresto della coda di posta
<a name="SQLServer.DBMail.StartStop"></a>

Per avviare e arrestare la coda di posta del database utilizza le seguenti istruzioni:

**Topics**
+ [Avvio della coda di posta](#SQLServer.DBMail.Start)
+ [Arresto della coda di posta](#SQLServer.DBMail.Stop)

## Avvio della coda di posta
<a name="SQLServer.DBMail.Start"></a>

Per avviare il processo Database Mail, utilizza la stored procedure `rds_sysmail_control` .

**Nota**  
L'abilitazione di Database Mail avvia automaticamente la coda di posta.

**Per avviare la coda di posta**
+ Utilizza la seguente istruzione SQL.

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

## Arresto della coda di posta
<a name="SQLServer.DBMail.Stop"></a>

Per arrestare il processo di Database Mail, utilizza la stored procedure `rds_sysmail_control`.

**Per arrestare la coda di posta**
+ Utilizza la seguente istruzione SQL.

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

## Utilizzo di file allegati
<a name="SQLServer.DBMail.Files"></a>

Le seguenti estensioni di file allegati non sono supportate nei messaggi di Database Mail provenienti da RDS su SQL Server: .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 e .wsh.

Database Mail utilizza il contesto di protezione di Microsoft Windows dell'utente corrente per controllare l'accesso ai file. Gli utenti che accedono con l'autenticazione di SQL Server non possono allegare file utilizzando il parametro `@file_attachments` con la stored procedure `sp_send_dbmail`. Windows non consente a SQL Server di fornire le credenziali da un computer remoto a un altro computer remoto. Di conseguenza, Database Mail non può allegare file da una condivisione di rete quando il comando viene eseguito da un computer diverso dal computer che esegue SQL Server.

Tuttavia, per allegare i file puoi utilizzare i processi di SQL Server Agent. Per ulteriori informazioni su SQL Server Agent, consulta [Utilizzo di SQL Server Agent per Amazon RDS](Appendix.SQLServer.CommonDBATasks.Agent.md) e [SQL Server Agent](https://docs.microsoft.com/en-us/sql/ssms/agent/sql-server-agent) nella documentazione Microsoft.

## Considerazioni per le implementazioni Multi-AZ
<a name="SQLServer.DBMail.MAZ"></a>

Quando configuri Database Mail in un'istanza database Multi-AZ, la configurazione non viene propagata automaticamente al nodo secondario. Si consiglia di convertire l'istanza Multi-AZ in un'istanza Single-AZ, configurare Database Mail e quindi riconvertire l'istanza database in Multi-AZ. In questo modo, entrambi i nodi primario e secondario avranno la configurazione di Database Mail.

Se crei una replica di lettura dall'istanza Multi-AZ in cui è configurato Database Mail, la replica eredita la configurazione, ma senza la password sul server SMTP. Aggiorna l'account Database Mail con la password.

## Rimozione della restrizione SMTP (porta 25)
<a name="SQLServer.DBMail.SMTP"></a>

Per impostazione predefinita, AWS blocca il traffico in uscita su SMTP (porta 25) per le istanze database RDS per SQL Server. Questa impostazione consente di prevenire lo spam in base alle policy del proprietario dell’interfaccia di rete elastica. È possibile rimuovere la restrizione, se necessario. Per ulteriori informazioni, consulta [Come posso rimuovere la restrizione sulla porta 25 dalla mia istanza Amazon EC2 o dalla mia funzione Lambda?](https://repost.aws/knowledge-center/ec2-port-25-throttle) 