sysmail_add_account_sp (Transact-SQL)
Se aplica a: SQL Server
Azure SQL Instancia administrada
Crea una nueva cuenta de Correo electrónico de base de datos que contiene información sobre una cuenta SMTP.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sysmail_add_account_sp [ @account_name = ] 'account_name' ,
[ @email_address = ] 'email_address' ,
[ [ @display_name = ] 'display_name' , ]
[ [ @replyto_address = ] 'replyto_address' , ]
[ [ @description = ] 'description' , ]
[ @mailserver_name = ] 'server_name'
[ , [ @mailserver_type = ] 'server_type' ]
[ , [ @port = ] port_number ]
[ , [ @username = ] 'username' ]
[ , [ @password = ] 'password' ]
[ , [ @use_default_credentials = ] use_default_credentials ]
[ , [ @enable_ssl = ] enable_ssl ]
[ , [ @account_id = ] account_id OUTPUT ]
[ ; ]
Argumentos
[ @account_name = ] 'account_name'
El nombre de la cuenta que se va a agregar. @account_name es sysname, sin ningún valor predeterminado.
[ @email_address = ] 'email_address'
Dirección de correo electrónico desde la que se envía el mensaje. Esta dirección debe ser una dirección de correo electrónico de Internet. @email_address es nvarchar(128), sin ningún valor predeterminado. Por ejemplo, una cuenta de Agente SQL Server podría enviar correo electrónico desde la dirección SqlAgent@adventure-works.com
.
[ @display_name = ] 'display_name'
Nombre para mostrar que se utilizará en los mensajes de correo electrónico de esta cuenta. @display_name es nvarchar(128), con un valor predeterminado de NULL
. Por ejemplo, una cuenta de Agente SQL Server podría mostrar el nombre SQL Server Agent Automated Mailer
en los mensajes de correo electrónico.
[ @replyto_address = ] 'replyto_address'
Dirección a la que se envían las respuestas a los mensajes desde esta cuenta. @replyto_address es nvarchar(128), con un valor predeterminado de NULL
. Por ejemplo, las respuestas a una cuenta de Agente SQL Server podrían ir al administrador de la base de datos, danw@adventure-works.com
.
[ @description = ] 'description'
Descripción de la cuenta. @description es nvarchar(256), con un valor predeterminado de NULL
.
[ @mailserver_name = ] 'server_name'
Nombre o dirección IP del servidor de correo SMTP que se utilizará para esta cuenta. El equipo que ejecuta SQL Server debe poder resolver el @mailserver_name en una dirección IP. @mailserver_name es sysname, sin ningún valor predeterminado.
[ @mailserver_type = ] 'server_type'
Tipo de servidor de correo electrónico. @mailserver_type es sysname, con un valor predeterminado de SMTP
.
[ @port = ] port_number
Número de puerto del servidor de correo electrónico. @port es int, con un valor predeterminado de 25
.
[ @username = ] 'username'
Nombre de usuario que se utilizará para iniciar sesión en el servidor de correo electrónico. @username es nvarchar(128), con un valor predeterminado de NULL
. Cuando este parámetro es NULL
, Correo electrónico de base de datos no usa la autenticación para esta cuenta. Si el servidor de correo no requiere autenticación, use NULL
para el nombre de usuario.
[ @password = ] 'password'
Contraseña que se utilizará para iniciar sesión en el servidor de correo electrónico. @password es nvarchar(128), con un valor predeterminado de NULL
. No es necesario proporcionar una contraseña a menos que se especifique un nombre de usuario.
[ @use_default_credentials = ] use_default_credentials
Especifica si se debe enviar el correo al servidor SMTP mediante las credenciales del Motor de base de datos de SQL Server. @use_default_credentials es bit, con un valor predeterminado de 0
. Cuando este parámetro es 1
, Correo electrónico de base de datos usa las credenciales del Motor de base de datos. Cuando este parámetro es 0
, Correo electrónico de base de datos envía los parámetros @username y @password si están presentes; de lo contrario, envía correo sin @username y @password parámetros.
[ @enable_ssl = ] enable_ssl
Especifica si el Correo electrónico de base de datos debe cifrar las comunicaciones con la Capa de sockets seguros. @enable_ssl es bit, con un valor predeterminado de 0
.
[ @account_id = ] account_id OUTPUT
Devuelve el identificador de cuenta de la nueva cuenta. @account_id es int, con un valor predeterminado de NULL
.
Valores de código de retorno
0
(correcto) o 1
(erróneo).
Comentarios
Correo electrónico de base de datos proporciona parámetros independientes para @email_address, @display_name y @replyto_address. El parámetro @email_address es la dirección desde la que se envía el mensaje. El parámetro @display_name es el nombre que se muestra en el From:
campo del mensaje de correo electrónico. El parámetro @replyto_address es la dirección donde se enviarán las respuestas al mensaje de correo electrónico. Por ejemplo, una cuenta usada para Agente SQL Server puede enviar mensajes de correo electrónico desde una dirección de correo electrónico que solo se usa para Agente SQL Server. Los mensajes de esa dirección deben mostrar un nombre descriptivo, por lo que los destinatarios pueden determinar fácilmente que Agente SQL Server enviar el mensaje. Si un destinatario responde al mensaje, la respuesta debe ir al administrador de la base de datos en lugar de a la dirección usada por Agente SQL Server. En este escenario, la cuenta usa SqlAgent@adventure-works.com
como dirección de correo electrónico. El nombre para mostrar se establece en SQL Server Agent Automated Mailer
. La cuenta usa danw@adventure-works.com
como respuesta a la dirección, por lo que las respuestas a los mensajes enviados desde esta cuenta van al administrador de la base de datos en lugar de a la dirección de correo electrónico de Agente SQL Server. Al proporcionar valores independientes para estos tres parámetros, el Correo electrónico de base de datos le permite configurar los mensajes en función de sus necesidades.
El parámetro @mailserver_type admite el valor SMTP
.
Cuando @use_default_credentials es 1
, el correo se envía al servidor SMTP mediante las credenciales del Motor de base de datos de SQL Server. Cuando @use_default_credentials es 0
y se especifican una @username y @password para una cuenta, la cuenta usa la autenticación SMTP. Los @username y @password son las credenciales que usa la cuenta para el servidor SMTP, no las credenciales de SQL Server o la red en la que está el equipo.
El procedimiento sysmail_add_account_sp
almacenado está en la msdb
base de datos y es propiedad del dbo
esquema. El procedimiento debe ejecutarse con un nombre de tres partes si la base de datos actual no msdb
es .
Permisos
Este procedimiento almacenado es propiedad del rol db_owner . Puede conceder EXECUTE
permisos para cualquier usuario, pero estos permisos se pueden invalidar durante una actualización de SQL Server.
Ejemplos
En el ejemplo siguiente se crea una cuenta denominada AdventureWorks Administrator
. Esta cuenta utiliza la dirección de correo electrónico dba@adventure-works.com
y envía los mensajes al servidor de correo SMTP smtp.adventure-works.com
. Los mensajes de correo electrónico enviados desde esta cuenta se muestran AdventureWorks Automated Mailer
en la From:
línea del mensaje. Las respuestas a los mensajes se dirigen a danw@adventure-works.com
.
EXEC msdb.dbo.sysmail_add_account_sp
@account_name = 'AdventureWorks Administrator',
@description = 'Mail account for administrative e-mail.',
@email_address = 'dba@adventure-works.com',
@display_name = 'AdventureWorks Automated Mailer',
@mailserver_name = 'smtp.adventure-works.com';