Uso de Database Mail en Amazon RDS for SQL Server
Puede utilizar Database Mail para enviar mensajes de correo electrónico a los usuarios desde su instancia de base de datos Amazon RDS en SQL Server. Los mensajes pueden contener archivos y resultados de consulta. Database Mail incluye los siguientes componentes:
-
Objetos de configuración y seguridad – Estos objetos crean perfiles y cuentas y se almacenan en la base de datos
msdb
. -
Objetos de mensajería – Estos objetos incluyen el procedimiento almacenado sp_send_dbmail
utilizado para enviar mensajes y estructuras de datos que contienen información sobre los mensajes. Están almacenados en la base de datos msdb
. -
Objetos de registro y auditoría – Database Mail escribe información de registro en la base de datos
msdb
y en el registro de eventos de aplicación de Microsoft Windows. -
El ejecutable de Database Mail –
DatabaseMail.exe
lee desde una cola en la base de datosmsdb
y envía mensajes de correo electrónico.
RDS es compatible con Database Mail para todas las versiones de SQL Server en las ediciones Web, Estándar y Enterprise.
Limitaciones
Las siguientes limitaciones se aplican al uso de Database Mail en su instancia de base de datos de SQL Server:
-
Database Mail no es compatible con la edición SQL Server Express.
-
La modificación de los parámetros de la configuración de Database Mail no es compatible. Para ver los valores preestablecidos (predeterminados), utilice el procedimiento almacenado sysmail_help_configure_sp
. -
Los archivos adjuntos no son totalmente compatibles. Para obtener más información, consulte Trabajar con archivos adjuntos.
-
El tamaño máximo del archivo adjunto es de 1 MB.
-
Database Mail requiere configuración adicional en las instancias de base de datos Multi-AZ. Para obtener más información, consulte Consideraciones para implementaciones Multi-AZ.
-
La configuración del Agente SQL Server para enviar mensajes de correo electrónico a operadores predefinidos no es compatible.
Procedimientos y funciones almacenados de Amazon RDS para Database Mail
Microsoft proporciona procedimientos almacenados
Procedimiento/Función | Descripción |
---|---|
rds_fn_sysmail_allitems | Muestra los mensajes enviados, incluidos los enviados por otros usuarios. |
rds_fn_sysmail_event_log | Muestra eventos, incluidos los de mensajes enviados por otros usuarios. |
rds_fn_sysmail_mailattachments | Muestra archivos adjuntos, incluidos los de los mensajes enviados por otros usuarios. |
rds_sysmail_control | Inicia y detiene la cola de correo (proceso DatabaseMail.exe). |
rds_sysmail_delete_mailitems_sp | Elimina los mensajes de correo electrónico enviados por todos los usuarios de las tablas internas de Database Mail. |
Trabajar con archivos adjuntos
Las siguientes extensiones de archivos adjuntos no son compatibles con los mensajes de Database Mail de RDS en 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 y .wsh.
Database Mail utiliza el contexto de seguridad de Microsoft Windows del usuario actual para controlar el acceso a los archivos. Los usuarios que inician sesión con la autenticación de SQL Server no pueden adjuntar archivos mediante el parámetro @file_attachments
con el procedimiento almacenado sp_send_dbmail
. Windows no permite que SQL Server proporcione credenciales de un equipo remoto a otro equipo remoto. Por lo tanto, Database Mail no puede adjuntar archivos desde un recurso compartido de red cuando el comando se ejecuta desde un equipo distinto del equipo que ejecuta SQL Server.
Sin embargo, usted puede utilizar trabajos del agente SQL Server para adjuntar archivos. Para obtener más información sobre el Agente SQL Server, consulte Uso del Agente SQL Server para Amazon RDS y Agente SQL Server
Consideraciones para implementaciones Multi-AZ
Al configurar Database Mail en una instancia de base de datos Multi-AZ, la configuración no se propaga automáticamente a la secundaria. Se recomienda convertir la instancia Multi-AZ en una instancia Single-AZ, configurar Database Mail y, a continuación, convertir la instancia de base de datos de nuevo a Multi-AZ. Entonces, tanto el nodo primario como el secundario tienen la configuración de Database Mail.
Si crea una réplica de lectura desde su instancia Multi-AZ que tiene Database Mail configurado, la réplica hereda la configuración, pero sin la contraseña del servidor de protocolo simple de transferencia de correo (SMTP). Actualice la cuenta de Database Mail con la contraseña.
Eliminar la restricción SMTP (puerto 25)
De forma predeterminada, AWS bloquea el tráfico saliente en SMTP (puerto 25) para las instancias de base de datos de RDS para SQL Server. Esto se hace para evitar el spam según las políticas del propietario de la interfaz de red elástica. Puede eliminar esta restricción si es necesario. Para obtener más información, consulte ¿Cómo puedo eliminar la restricción en el puerto 25 de mi instancia de Amazon EC2 o de la función de Lambda?