A
I send the mails from Transact-SQL.NOTE: I'm going to put everything you can do with a brief explanation, this doesn't mean you need all the elements (which starts with the @), don't get over the amount of code, read it and use whatever you need.create an account: sysmail_add_account_sp
@account_name = 'prueba3', /*Nombre de cuenta*/
@description = 'Esto es una cuenta de prueba', /*Descripcion de la cuenta*/
@email_address = 'pruebainmotech@gmail.com' , /*Correo de Origen*/
@display_name = 'name2' , /*El nombre que sale encima del Asunto*/
@replyto_address = 'noresponder@gmail.com' , /*La cuenta a la que el cliente manda las respuestas*/
@mailserver_name = 'smtp.gmail.com', /*Dirección IP del servidor de correo SMTP*/
@mailserver_type = 'SMTP' , /*Tipo de servidor de correo*/
@port = '587', /*Numero de puerto para el servidor de correo electrónico*/
@username = 'prueba3', /*Nombre de usuario*/
@password = 'Admin1234', /*Contraseña de Usuario*/
@enable_ssl = TRUE /*Cifra el correo para que sea más seguro (BIT)*/
2.Create a Profile:sysmail_add_profile_sp @profile_name = 'prueba3'
3.Juntar Profile Account:sysmail_add_profileaccount_sp
/*@profile_id = '5' /*se asocia el perfil a la cuenta mediante la id de prfil*/*/
@profile_name = 'prueba3' , /*se asocia el perfil a la cuenta mediante el nombre de perfil*/
/*@account_id = '5' /*se asocia el perfil a la cuenta mediante la id de la cuenta*/*/
@account_name = 'prueba3', /*se asocia el perfil a la cuenta mediante el nombre de cuenta*/
@principal_name = 'public', /*se pone en public para que pueda mandar correos sin problemas*/
@sequence_number = 1 /*Determina el número de cuentas que se utilizan en el perfil (INT)*/
4.Made the message:EXEC sp_send_dbmail
@profile_name='prueba2', /*El nombre de perfil del emisor*/
@recipients='mtonorte@inmotechnia.com', /*dirección/es de correo a los que se envían el mensaje,
si se manda a más de uno, se separan mediante una coma*/
/*@blind_copy_recipients = 'mtonorte@inmotechnia.com', /*No muestra el destinatario en el correo*/*/
@reply_to = 'mtonorte@inmotechnia.com', /*El correo al que el destinatario va a enviar la respuesta
NOTA: Si se deja null, la respuesta se envía a @reply_to_address especificado en la creación de
cuenta*/
@subject='mensaje de prueba 2', /*Asunto del mail*/
@body='Con archivo esto es un mensaje de prueba 2',
/*Mensaje*/
@body_format = 'HTML', /*Define el formato del mensaje, tiene 2: TEXT y HTML
En el modo TEXT, el mensaje se envía con una fuente, tamaño y color predeterminado
En el modo HTML Decides todo mediante marcas HTML ejemplo:
@body='esto es un mensaje de <br><span style="color:red;">prueba body_format html con color 2</span>',*/
/*@importance = 'Low', /*Define la importancia del mensaje, por defecto en medio, en high pone una
exclamación roja en el mensaje y con low pone una flecha azul*/*/
@sensitivity = 'Personal', /*Define la sensibilidad del contenido, el defecto es normal, y se
pueden poner los valores Personal, Privado y confidencial*/
@file_attachments = 'C:\xampp\htdocs\img\logos\favicon.jpg', /*Adjunta un archivo al mensaje
NOTA: Hay que poner la ruta absoluta del archivo*/
@query = 'select * from clientes', /*La sentencia que se va a mandar*/
@execute_query_database = 'inmo_derio' , /*La BD donde se ejecuta la sentencia*/
@attach_query_result_as_file = 1, /*Define si la sentencia se va a mandar en una pestaña a parte
o si se va a mandar junto al texto*/
@query_attachment_filename='warning.csv', /*Define el formato del archivo, no vale cualquier
formato, .csv es uno de los más comunes y si funciona, pero otros como .pdf no
NOTA: no incluir este si noestá incluida @query*/
@query_result_header = 0, /*Especifica si la sentencia se manda con el nmombre de columna o solo
con el contenido*/
@query_result_width = 1500, /*Indica el ancho que va a ocupar la sentencia*/
@query_result_separator = ',', /*Define el carácter que separa los datos resultantes de la sentencia*/
@append_query_error = 0, /*Especifíca si se debe de mandar el correo cuando la sentencuia devuleve
un error*/
@query_no_truncate = 0, /*No se, solo se que es excluyente con @query_result_no_padding*/
@query_result_no_padding = 1; /*Define si hay espacio entre los datos resultantes de la sentencia*/
NOTE 2: The user has to have execution permission on the process sp_send_dbmail and have the role of DatabaseMailUserRoleNow I tell you how to do it:To give permission on the process:Use msdb
Go
GRANT EXECUTE ON sp_send_dbmail TO @user;
To give the Rol:You double click on the user's login, you go to the UserMapping tab, click on the BD msdb box and give it the following role: DatabaseMailUserRole NOTE 3: Being a SQL Server process, you can put it in a trigger and send an email every time an insert is executed in x table (e.g.)I hope it helps you, a greeting.