sysmail_add_account_sp (Transact-SQL)

Gilt für:SQL ServerAzure SQL Managed Instance

Erstellt ein neues Datenbank-E-Mail-Konto, in dem Informationen zu einem SMTP-Konto gespeichert sind.

Transact-SQL-Syntaxkonventionen

Syntax

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 ]
[ ; ]

Argumente

[ @account_name = ] 'account_name'

Der Name des hinzuzufügenden Kontos. @account_name ist "sysname" ohne Standard.

[ @email_address = ] 'email_address'

Die E-Mail-Adresse, von der die Nachricht gesendet werden soll. Bei dieser Adresse muss es sich um eine Internet-E-Mail-Adresse handeln. @email_address ist nvarchar(128), ohne Standard. Ein Konto für SQL Server-Agent kann z. B. eine E-Mail von der Adresse SqlAgent@adventure-works.comsenden.

[ @display_name = ] 'display_name'

Der Anzeigename, der in E-Mail-Nachrichten verwendet werden soll, die von diesem Konto gesendet werden. @display_name ist nvarchar(128), mit einem Standardwert von NULL. Beispielsweise kann ein Konto für SQL Server-Agent den Namen SQL Server Agent Automated Mailer in E-Mail-Nachrichten anzeigen.

[ @replyto_address = ] 'replyto_address'

Die Adresse, an die Antworten auf Nachrichten von diesem Konto gesendet werden. @replyto_address ist nvarchar(128), mit einem Standardwert von NULL. Antworten auf ein Konto für SQL Server-Agent können z. B. zum Datenbankadministrator gehen. danw@adventure-works.com

[ @description = ] 'description'

Eine Beschreibung für das Konto. @description ist nvarchar(256), mit einem Standardwert von NULL.

[ @mailserver_name = ] 'server_name'

Der Name oder die IP-Adresse des SMTP-Mailservers, der für dieses Konto verwendet werden soll. Der Computer, auf dem SQL Server ausgeführt wird, muss die @mailserver_name in eine IP-Adresse auflösen können. @mailserver_name ist "sysname" ohne Standard.

[ @mailserver_type = ] 'server_type'

Der Typ des E-Mail-Servers. @mailserver_type ist "sysname" mit einem Standardwert von SMTP.

[ @port = ] port_number

Die Portnummer für den E-Mail-Server. @port ist int, mit einem Standardwert von 25.

[ @username = ] 'Benutzername'

Der zum Anmelden beim E-Mail-Server zu verwendende Benutzername. @username ist nvarchar(128), mit einem Standardwert von NULL. Wenn dieser Parameter lautetNULL, verwendet Datenbank-E-Mail keine Authentifizierung für dieses Konto. Wenn der E-Mail-Server keine Authentifizierung erfordert, verwenden Sie dies NULL für den Benutzernamen.

[ @password = ] 'password'

Das Kennwort, das für die Anmeldung beim E-Mail-Server verwendet werden soll. @password ist nvarchar(128), wobei die Standardeinstellung istNULL. Es ist nicht erforderlich, ein Kennwort anzugeben, es sei denn, ein Benutzername ist angegeben.

[ @use_default_credentials = ] use_default_credentials

Gibt an, ob die E-Mail mithilfe der Anmeldeinformationen des SQL Server-Datenbank-Engine an den SMTP-Server gesendet werden soll. @use_default_credentials ist bit, mit einem Standardwert von 0. Wenn dieser Parameter lautet1, verwendet Datenbank-E-Mail die Anmeldeinformationen des Datenbank-Engine. Wenn dieser Parameter lautet0, sendet Datenbank-E-Mail die parameter @username und @password, falls vorhanden, andernfalls E-Mails ohne @username und @password Parameter.

[ @enable_ssl = ] enable_ssl

Gibt an, ob Datenbank-E-Mail die Kommunikation mithilfe von Secure Sockets Layer verschlüsselt. @enable_ssl ist bit, mit einem Standardwert von 0.

[ @account_id = ] account_id OUTPUT

Gibt die Konto-ID für das neue Konto zurück. @account_id ist int, mit einem Standardwert von NULL.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler).

Hinweise

Datenbank-E-Mail stellt separate Parameter für @email_address, @display_name und @replyto_address bereit. Der parameter @email_address ist die Adresse, von der die Nachricht gesendet wird. Der parameter @display_name ist der Name, der From: im Feld der E-Mail-Nachricht angezeigt wird. Der parameter @replyto_address ist die Adresse, an die Antworten auf die E-Mail-Nachricht gesendet werden. Beispielsweise kann ein für SQL Server-Agent verwendetes Konto E-Mail-Nachrichten von einer E-Mail-Adresse senden, die nur für SQL Server-Agent verwendet wird. Nachrichten aus dieser Adresse sollten einen Anzeigenamen anzeigen, sodass Empfänger leicht bestimmen können, dass SQL Server-Agent die Nachricht gesendet haben. Wenn ein Empfänger auf die Nachricht antwortet, sollte die Antwort an den Datenbankadministrator und nicht an die von SQL Server-Agent verwendete Adresse weitergeleitet werden. In diesem Szenario wird das Konto als E-Mail-Adresse verwendet SqlAgent@adventure-works.com . Der Anzeigename ist auf SQL Server Agent Automated Mailer. Das Konto wird als Antwortadresse verwendetdanw@adventure-works.com, sodass Antworten auf nachrichten, die von diesem Konto gesendet werden, zum Datenbankadministrator und nicht zur E-Mail-Adresse für SQL Server-Agent wechseln. Durch die Bereitstellung unabhängiger Einstellungen für diese drei Parameter ermöglicht es Datenbank-E-Mail Ihnen, die Konfiguration von Nachrichten an Ihre Anforderungen anzupassen.

Der @mailserver_type-Parameter unterstützt den Wert SMTP.

Wenn @use_default_credentials ist1, werden E-Mails mithilfe der Anmeldeinformationen des SQL Server-Datenbank-Engine an den SMTP-Server gesendet. Wenn @use_default_credentials ist 0 und ein @username und @password für ein Konto angegeben werden, verwendet das Konto die SMTP-Authentifizierung. Die @username und @password sind die Anmeldeinformationen, die das Konto für den SMTP-Server verwendet, nicht die Anmeldeinformationen für SQL Server oder das Netzwerk, auf dem sich der Computer befindet.

Die gespeicherte Prozedur sysmail_add_account_sp befindet sich in der msdb Datenbank und gehört dem dbo Schema. Die Prozedur muss mit einem dreiteiligen Namen ausgeführt werden, wenn die aktuelle Datenbank nicht msdbvorhanden ist.

Berechtigungen

Diese gespeicherte Prozedur gehört der db_owner Rolle. Sie können berechtigungen für jeden Benutzer erteilen EXECUTE , diese Berechtigungen können jedoch während eines SQL Server-Upgrades außer Kraft gesetzt werden.

Beispiele

Im folgenden Beispiel wird ein Konto mit dem Namen AdventureWorks Administrator erstellt. Das Konto verwendet die E-Mail-Adresse dba@adventure-works.com und sendet E-Mail-Nachrichten an den SMTP-Mailserver smtp.adventure-works.com. E-Mail-Nachrichten, die von diesem Konto gesendet werden, werden in der From: Zeile der Nachricht angezeigtAdventureWorks Automated Mailer. Antworten auf Nachrichten von diesem Konto werden an danw@adventure-works.com gesendet.

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';