Utilisation de Database Mail sur Amazon RDS for SQL Server
Vous pouvez utiliser Database Mail pour envoyer des e-mails à des utilisateurs à partir de votre instance de base de données Amazon RDS sur SQL Server. Les messages peuvent contenir des fichiers et des résultats de requête. Database Mail comprend les éléments suivants :
-
Objets de configuration et de sécurité – Ces objets créent des profils et des comptes, et sont stockés dans la base de données
msdb. -
Objets de messagerie – Ces objets incluent la procédure stockée sp_send_dbmail
utilisée pour envoyer des messages, ainsi que des structures de données contenant des informations sur les messages. Ils sont stockés dans la base de données msdb. -
Objets de journalisation et d'audit – Database Mail écrit les informations de journalisation dans la base de données
msdbet dans le journal des événements de l'application Microsoft Windows. -
Le fichier exécutable de Database Mail –
DatabaseMail.exelit le contenu d'une file d'attente de la base de donnéesmsdbet envoie les e-mails.
RDS prend en charge Database Mail pour toutes les versions de SQL Server sur les éditions Web, Standard et Enterprise.
Limitations
Les limites suivantes s'appliquent à l'utilisation de Database Mail sur votre instance de base de données SQL Server :
-
Database Mail n'est pas pris en charge pour SQL Server Express Edition.
-
La modification des paramètres de configuration de Database Mail n'est pas prise en charge. Pour afficher les valeurs prédéfinies (par défaut), vous devez utiliser la procédure stockée sysmail_help_configure_sp
. -
Les pièces jointes ne sont pas entièrement prises en charge. Pour plus d'informations, consultez Utilisation de pièces jointes.
-
La taille maximale des pièces jointes est de 1 Mo.
-
Database Mail requiert une configuration supplémentaire sur les instances de base de données multi-AZ. Pour plus d'informations, consultez Considérations sur les déploiements multi-AZ.
-
La configuration de SQL Server Agent pour envoyer des e-mails à des opérateurs prédéfinis n'est pas prise en charge.
Fonctions et procédures stockées Amazon RDS pour Database Mail
Microsoft fournit des procédures stockées
| Procédure/Fonction | Description |
|---|---|
| rds_fn_sysmail_allitems | Affiche les messages envoyés, y compris ceux envoyés par d'autres utilisateurs. |
| rds_fn_sysmail_event_log | Affiche les événements, y compris ceux des messages envoyés par d'autres utilisateurs. |
| rds_fn_sysmail_mailattachments | Affiche les pièces jointes, y compris celles des messages envoyés par d'autres utilisateurs. |
| rds_sysmail_control | Lance et arrête la file d'attente de la messagerie (processus DatabaseMail.exe). |
| rds_sysmail_delete_mailitems_sp | Supprime des tables internes de Database Mail les e-mails envoyés par l'ensemble des utilisateurs. |
Utilisation de pièces jointes
Les extensions de pièces jointes suivantes ne sont pas prises en charge dans les messages Database Mail à partir de RDS sur 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 et .wsh.
Database Mail utilise le contexte de sécurité Microsoft Windows de l'utilisateur actuel pour contrôler l'accès aux fichiers. Les utilisateurs qui se connectent avec l'authentification SQL Server ne peuvent pas joindre de fichiers à l'aide du paramètre @file_attachments avec la procédure stockée sp_send_dbmail. Windows n'autorise pas SQL Server à fournir des informations d'identification d'un ordinateur distant à un autre ordinateur distant. Par conséquent, Database Mail ne peut pas joindre des fichiers provenant d'un partage réseau lorsque la commande est exécutée à partir d'un ordinateur autre que celui qui exécute SQL Server.
Vous pouvez toutefois utiliser des tâches SQL Server Agent pour joindre des fichiers. Pour plus d'informations sur SQL Server Agent, consultez Utilisation de SQL Server Agent pour Amazon RDS et SQL Server Agent
Considérations sur les déploiements multi-AZ
Lorsque vous configurez Database Mail sur une instance de base de données multi-AZ, la configuration n'est pas automatiquement propagée vers la zone secondaire. Nous vous recommandons de convertir l'instance multi-AZ en instance mono-AZ, de configurer Database Mail, puis de reconvertir l'instance de base de données en instance multi-AZ. Les nœuds principal et secondaire disposeront ensuite de la configuration de Database Mail.
Si vous créez un réplica en lecture à partir de l'instance multi-AZ sur laquelle Database Mail est configuré, le réplica hérite de la configuration, mais sans le mot de passe du serveur SMTP. Mettez à jour le compte Database Mail avec le mot de passe.
Suppression de la restriction SMTP (port 25)
AWS bloque par défaut le trafic sortant sur SMTP (port 25) pour les instances de base de données RDS for SQL Server. Cela permet d’éviter le spam en fonction des politiques du propriétaire de l’interface réseau Elastic. Vous pouvez supprimer cette restriction si nécessaire. Pour plus d’informations, consultez Comment supprimer la restriction du port 25 à partir de mon instance Amazon EC2 ou de ma fonction Lambda ?