sysmail_add_account_sp (Transact-SQL)
Erstellt ein neues Datenbank-E-Mail-Konto, in dem Informationen zu einem SMTP-Konto gespeichert sind.
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 vom Datentyp sysname und hat keinen Standardwert.[ @email_address = ] 'email_address'
Die E-Mail-Adresse, von der die Nachricht gesendet werden soll. Bei der Adresse muss es sich um eine Internet-E-Mail-Adresse handeln. email_address ist ein Wert vom Datentyp nvarchar(128) und hat keinen Standardwert. Ein Konto für SQL Server könnte E-Mails beispielsweise von der Adresse SqlAgent@Adventure-Works.com aus versenden.[ @display_name = ] 'display_name'
Der Anzeigename, der in E-Mail-Nachrichten verwendet werden soll, die von diesem Konto gesendet werden. display_name ist ein Wert vom Datentyp nvarchar(128). Der Standardwert ist NULL. Ein Konto für SQL Server könnte beispielsweise den Namen SQL Server Agent Automated Mailer in den E-Mail-Nachrichten anzeigen.[ @replyto_address = ] 'replyto_address'
Die Adresse, an die Antworten auf Nachrichten von diesem Konto gesendet werden. replyto_address ist ein Wert vom Datentyp nvarchar(128). Der Standardwert ist NULL. Antworten auf ein Konto von SQL Server-Agent könnten beispielsweise an den Datenbankadministrator gehen (danw@Adventure-Works.com).[ @description = ] 'description'
Eine Beschreibung für das Konto. description ist ein Wert vom Datentyp nvarchar(256). Der Standardwert ist 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 in der Lage sein, server_name in eine IP-Adresse aufzulösen. server_name ist ein Wert vom Datentyp sysname und hat keinen Standardwert.[ @mailserver_type = ] 'server_type'
Der Typ des E-Mail-Servers. server_type ist ein Wert vom Datentyp sysname. Der Standardwert ist 'SMTP'.[ @port = ] port_number
Die Portnummer für den E-Mail-Server. port_number ist ein Wert vom Datentyp int. Der Standardwert ist 25.[ @username = ] 'username'
Der Benutzername, der für die Anmeldung am E-Mail-Server verwendet wird. username ist ein Wert vom Datentyp nvarchar(128). Der Standardwert ist NULL.Wenn dieser Parameter NULL ist, verwendet Datenbank-E-Mail keine Authentifizierung für dieses Konto. Wenn für den Mailserver keine Authentifizierung erforderlich ist, verwenden Sie NULL als Wert für den Benutzernamen.[ @password = ] 'password'
Das Kennwort, das für die Anmeldung am E-Mail-Server verwendet wird. password ist ein Wert vom Datentyp nvarchar(128). Der Standardwert ist NULL. Ein Kennwort muss nur bereitgestellt werden, wenn ein Benutzername angegeben wird.[ @use_default_credentials = ] use_default_credentials
Gibt an, ob die E-Mail mithilfe der Anmeldeinformationen von SQL Server Database Engine (Datenbankmodul) an den SMTP-Server gesendet wird. use_default_credentials besitzt den Datentyp bit und den Standardwert 0. Wenn dieser Parameter 1 ist, verwendet Datenbank-E-Mail die Anmeldeinformationen von Database Engine (Datenbankmodul). Wenn dieser Parameter den Wert 0 besitzt, sendet Datenbank-E-Mail die @username- und @password-Parameter, soweit vorhanden; andernfalls wird E-Mail ohne die @username- und @password-Parameter gesendet.[ @enable_ssl = ] enable_ssl
Gibt an, ob Datenbank-E-Mail die Kommunikation mithilfe von SSL (Secure Sockets Layer) verschlüsselt. Enable_ssl ist vom bit-Datentyp und hat den Standardwert 0.[ @account_id = ] account_id OUTPUT
Gibt die Konto-ID für das neue Konto zurück. account_id ist ein Wert vom Datentyp int. Der Standardwert ist 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 @email_address-Parameter gibt die Adresse an, von der die Nachricht gesendet wird. Der @display_name-Parameter gibt den Namen an, der im Von-Feld der E-Mail-Nachricht angezeigt wird. Der @replyto_address-Parameter gibt die Adresse an, an die Antworten auf die E-Mail-Nachricht gesendet werden. Beispiel: Ein Konto, das für den SQL Server-Agent verwendet wird, soll E-Mail-Nachrichten von einer E-Mail-Adresse senden, die nur für den SQL Server-Agent verwendet wird. Nachrichten von dieser Adresse sollen über einen Anzeigenamen verfügen, sodass die Empfänger problemlos feststellen können, dass die Nachricht vom SQL Server-Agent gesendet wurde. Wenn ein Empfänger auf die Nachricht antwortet, soll die Antwort an den Datenbankadministrator und nicht an die vom SQL Server-Agent verwendete Adresse gesendet werden.In diesem Szenario verwendet das Konto die E-Mail-Adresse SqlAgent@Adventure-Works.com. Als Anzeigename wird SQL Server Agent Automated Mailer festgelegt. Das Konto verwendet danw@Adventure-Works.com als Antwortadresse, sodass Antworten auf Nachrichten, die von diesem Konto gesendet wurden, an den Datenbankadministrator und nicht an die E-Mail-Adresse für den SQL Server-Agent gesendet werden.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 wird bereitgestellt, um die erforderliche Flexibilität für zukünftige Versionen zu bieten. SQL Server 2005, und später, unterstützt den Wert 'SMTP' für @mailserver_type.
Wenn @use_default_credentials den Wert 1 besitzt, wird E-Mail mithilfe der Anmeldeinformationen von SQL Server Database Engine (Datenbankmodul) an den SMTP-Server gesendet. Wenn @use_default_credentials den Wert 0 besitzt und @username und @password für ein Konto angegeben werden, verwendet das Konto SMTP-Authentifizierung. Zusammen bilden @username und @password die Anmeldeinformationen, die das Konto für den SMTP-Server verwendet. Es handelt sich nicht um die Anmeldeinformationen für SQL Server oder das Netzwerk, in dem sich der Computer befindet.
Die gespeicherte Prozedur sysmail_add_account_sp befindet sich in der msdb-Datenbank. Der Besitzer ist das dbo-Schema. Die Prozedur muss mit einem dreiteiligen Namen ausgeführt werden, wenn es sich bei der aktuellen Datenbank nicht um die msdb-Datenbank handelt.
Berechtigungen
Standardmäßig verfügen Mitglieder der festen Serverrolle sysadmin über Berechtigungen zum Ausführen dieser Prozedur.
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. In den E-Mail-Nachrichten, die von diesem Konto gesendet werden, wird der Name AdventureWorks Automated Mailer in der Von-Zeile der Nachricht angezeigt. Antworten auf Nachrichten von diesem Konto werden an danw@Adventure-Works.com gesendet.
EXECUTE 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' ;