SQL Server: Email sending

PHOTO EMBED

Fri Feb 14 2025 18:48:00 GMT+0000 (Coordinated Universal Time)

Saved by @marcopinero

#### Crear el docker (bash)

docker run -e ACCEPT_EULA=Y \
        -e "MSSQL_SA_PASSWORD=MiClave1234!*" \
        -p 1433:1433 --name sqlserver \
        -v /var/opt/mssql:/var/opt/mssql \
        -d \
mcr.microsoft.com/mssql/server:2022-latest

## SQL:
### Crear cuenta, perfil, activar envio de correos y prueba de envio:
EXEC msdb.dbo.sysmail_add_account_sp
    @account_name = 'account1',
    @email_address = 'test@correo.com',
    @display_name = 'SQL Server Mail 2',
    @mailserver_name = 'mail.correo.com',
    @port = 587,
    @username = 'marco@correo.com',
    @password = 'MiContrasena1234***',
    @enable_ssl = 1;

### Configurar el perfil de correo:
EXEC msdb.dbo.sysmail_add_profile_sp
    @profile_name = 'mailers',
    @description = 'Perfil para enviadores de correo';

### Agregar el usuario al perfil
EXEC msdb.dbo.sysmail_add_profileaccount_sp
    @profile_name = 'mailers',
    @account_name = 'account1',
    @sequence_number = 1;

### Poner como perfil principal para envio:
EXEC msdb.dbo.sysmail_add_principalprofile_sp
    @profile_name = 'mailers',
    @principal_name = 'public',
    @is_default = 1;


### Activar el correo:
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'Database Mail XPs', 1;
RECONFIGURE;


###  Enviar correo a la cola:
EXEC msdb.dbo.sp_send_dbmail
    @profile_name = 'mailers',
    @recipients = 'marcotest2@correo.com',
    @subject = 'Test Email from SQL Server',
    @body = 'This is a test email sent from SQL Server using Database Mail.';


### ver lista de correos
SELECT * FROM msdb.dbo.sysmail_allitems;

### ver log
SELECT * FROM msdb.dbo.sysmail_event_log;

/*### eliminar cuenta
 * EXEC msdb.dbo.sysmail_delete_account_sp
    @account_name = 'account1'; -- Nombre de la cuenta
 * 
 */
content_copyCOPY