sysmail_add_account_sp (Transact-SQL)

Crea una nueva cuenta de Correo electrónico de base de datos que contiene información sobre una cuenta SMTP.

Icono de vínculo a temasConvenciones 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'
    Nombre de la cuenta que se va a agregar. account_name es de tipo sysname y no tiene ningún valor predeterminado.

  • [ @email_address = ] 'email_address'
    Dirección de correo electrónico desde la que se envía el mensaje. Debe ser una dirección de correo electrónico de Internet. email_address es de tipo nvarchar(128) y no tiene ningún valor predeterminado. Por ejemplo, una cuenta para el Agente SQL Server puede 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 procedentes de esta cuenta. display_name es de tipo nvarchar(128) y su valor predeterminado es NULL. Por ejemplo, una cuenta para el Agente SQL Server puede mostrar el nombre SQL Server Agent Automated Mailer (Proveedor de servicio de envío de correo automatizado del Agente SQL Server) en los mensajes de correo electrónico.

  • [ @replyto_address = ] 'replyto_address'
    Dirección a la que se envían las respuestas a los mensajes procedentes de esta cuenta. replyto_address es de tipo nvarchar(128) y su valor predeterminado es NULL. Por ejemplo, las respuestas a una cuenta del Agente SQL Server pueden enviarse al administrador de base de datos, danw@Adventure-Works.com.

  • [ @description = ] 'description'
    Descripción de la cuenta. description es de tipo nvarchar(256) y su valor predeterminado es 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 valor de server_name como una dirección IP. server_name es de tipo sysname y no tiene ningún valor predeterminado.

  • [ @mailserver_type = ] 'server_type'
    Tipo del servidor de correo electrónico. server_type es de tipo sysname y su valor predeterminado es 'SMTP'.

  • [ @port = ] port_number
    Número de puerto del servidor de correo electrónico. port_number es de tipo int y su valor predeterminado es 25.

  • [ @username = ] 'username'
    Nombre de usuario que se utilizará para iniciar sesión en el servidor de correo electrónico. username es de tipo nvarchar(128) y su valor predeterminado es NULL. Cuando este parámetro es NULL, el Correo electrónico de base de datos no utiliza la autenticación para esta cuenta. Si el servidor de correo no requiere autenticación, utilice 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 de tipo nvarchar(128) y su valor predeterminado es 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 con las credenciales de SQL Server Database Engine (Motor de base de datos de SQL Server). use_default_credentials es de tipo bit y tiene el valor predeterminado de 0. Si el valor de este parámetro es 1, el Correo electrónico de base de datos usa las credenciales de Motor de base de datos. Cuando este parámetro es 0, el 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 los parámetros @username y @password.

  • [ @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 de tipo bit y su valor predeterminado es 0.

  • [ @account_id = ] account_id OUTPUT
    Devuelve el Id. de la nueva cuenta. account_id es de tipo int y su valor predeterminado es NULL.

Valores de código de retorno

0 (correcto) o 1 (error)

Comentarios

El Correo electrónico de base de datos proporciona parámetros distintos 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 mostrado en el campo De: del mensaje de correo electrónico. El parámetro @replyto_address es la dirección a la que se enviarán las respuestas al mensaje de correo electrónico. Por ejemplo, una cuenta utilizada para el Agente SQL Server puede enviar mensajes de correo electrónico desde una dirección de correo que sólo se utiliza para el Agente SQL Server. Los mensajes procedentes de esa dirección deberían mostrar un nombre descriptivo, de manera que los destinatarios puedan determinar fácilmente que el Agente SQL Server envió el mensaje. Si un destinatario responde al mensaje, la respuesta debería dirigirse al administrador de base de datos en lugar de a la dirección utilizada por el Agente SQL Server. En este escenario, la cuenta utiliza la dirección de correo electrónico SqlAgent@Adventure-Works.com. El nombre para mostrar se establece en SQL Server Agent Automated Mailer. La cuenta utiliza danw@Adventure-Works.com como dirección de respuesta, de manera que las respuestas a los mensajes enviados desde esta cuenta van dirigidas al administrador de base de datos en lugar de a la dirección de correo electrónico del 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 se proporciona para aportar flexibilidad para futuras versiones. SQL Server 2005 y las versiones posteriores admiten el valor 'SMTP' para @mailserver_type.

Cuando @use_default_credentials es 1, el correo se envía al servidor SMTP utilizando las credenciales del SQL Server Database Engine (Motor de base de datos de SQL Server). Cuando @use_default_credentials es 0 y se especifican @username y @password para una cuenta, la cuenta utiliza la autenticación SMTP. @username y @password son las credenciales que utiliza la cuenta para el servidor SMTP, no son las credenciales de SQL Server o de la red en que se encuentra el equipo.

El procedimiento almacenado sysmail_add_account_sp se encuentra en la base de datos msdb y pertenece al esquema dbo. El procedimiento se debe ejecutar con un nombre de tres partes si la base de datos actual no es msdb.

Permisos

Los permisos de ejecución para este procedimiento corresponden de forma predeterminada a los miembros del rol fijo de servidor sysadmin.

Ejemplos

En el ejemplo siguiente se crea una cuenta denominada AdventureWorks2008R2 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 muestran AdventureWorks2008R2 Automated Mailer en la línea De: del mensaje. Las respuestas a los mensajes se dirigen a danw@Adventure-Works.com.

EXECUTE msdb.dbo.sysmail_add_account_sp
    @account_name = 'AdventureWorks2008R2 Administrator',
    @description = 'Mail account for administrative e-mail.',
    @email_address = 'dba@Adventure-Works.com',
    @display_name = 'AdventureWorks2008R2 Automated Mailer',
    @mailserver_name = 'smtp.Adventure-Works.com' ;