Поделиться через


sysmail_add_account_sp (Transact-SQL)

Область применения: SQL Server Управляемый экземпляр SQL Azure

Создает новую учетную запись компонента Database Mail, хранящую сведения об учетной записи SMTP.

Соглашения о синтаксисе Transact-SQL

Синтаксис

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

Аргументы

[ @account_name = ] 'account_name'

Имя добавляемой учетной записи. @account_name — sysname без значения по умолчанию.

[ @email_address = ] 'email_address'

Адрес электронной почты, от имени которого посылается сообщение. Этот адрес должен быть адресом электронной почты Интернета. @email_address — nvarchar(128), без значения по умолчанию. Например, учетная запись для агент SQL Server может отправлять электронную почту по адресуSqlAgent@adventure-works.com.

[ @display_name = ] 'display_name'

Отображаемое имя, которое используется в сообщениях электронной почты, отправляемых от имени этой учетной записи. @display_name — nvarchar(128) с значением по умолчаниюNULL. Например, учетная запись для агент SQL Server может отображать имя SQL Server Agent Automated Mailer в сообщениях электронной почты.

[ @replyto_address = ] 'replyto_address'

Адрес, на который отправляются ответы на сообщения данной учетной записи. @replyto_address — nvarchar(128) с значением по умолчаниюNULL. Например, ответы на учетную запись для агент SQL Server могут перейти к администратору danw@adventure-works.comбазы данных.

[ = ] @description 'description'

Описание учетной записи. @description — nvarchar(256) с значением по умолчаниюNULL.

[ @mailserver_name = ] 'server_name'

Имя или IP-адрес почтового SMTP-сервера, который используется для этой учетной записи. Компьютер, на котором выполняется SQL Server, должен иметь возможность разрешать @mailserver_name IP-адресу. @mailserver_name — sysname без значения по умолчанию.

[ @mailserver_type = ] 'server_type'

Тип сервера электронной почты. @mailserver_type — sysname с значением по умолчаниюSMTP.

[ @port = ] port_number

Номер порта сервера электронной почты. @port имеет значение int с значением по умолчанию25.

[ @username = ] "имя пользователя"

Имя пользователя, используемое при входе на сервер электронной почты. @username — nvarchar(128) с значением по умолчаниюNULL. Если этот параметр задан NULL, компонент Database Mail не использует проверку подлинности для этой учетной записи. Если почтовый сервер не требует проверки подлинности, используйте NULL имя пользователя.

[ @password = ] 'password'

Пароль, используемый при входе на сервер электронной почты. @password — nvarchar(128) с значением по умолчаниюNULL. Если имя пользователя не указано, укажите пароль.

[ @use_default_credentials = ] use_default_credentials

Указывает, следует ли отправлять почту на SMTP-сервер с помощью учетных данных ядро СУБД SQL Server. @use_default_credentials бит с значением по умолчанию0. При использовании этого параметра 1Database Mail использует учетные данные ядро СУБД. Если этот параметр задан 0, Database Mail отправляет параметры @username и @password , если они присутствуют, в противном случае отправляет почту без @username и @password параметров.

[ @enable_ssl = ] enable_ssl

Определяет, шифрует ли компонент Database Mail передаваемые данные с помощью протокола Secure Sockets Layer. @enable_ssl бит с значением по умолчанию0.

[ @account_id = ] account_id OUTPUT

Возвращает идентификатор учетной записи для новой учетной записи. @account_id имеет значение int с значением по умолчаниюNULL.

Значения кода возврата

0 (успешно) или 1 (сбой).

Замечания

Database Mail предоставляет отдельные параметры для @email_address, @display_name и @replyto_address. Параметр @email_address — это адрес, из которого отправляется сообщение. Параметр @display_name — это имя, отображаемое в From: поле сообщения электронной почты. Параметр @replyto_address — это адрес, в котором будут отправлены ответы на сообщение электронной почты. Например, учетная запись, используемая для агент SQL Server, может отправлять сообщения электронной почты с адреса электронной почты, который используется только для агент SQL Server. Сообщения из этого адреса должны отображать понятное имя, чтобы получатели могли легко определить, что агент SQL Server отправлено сообщение. Если получатель отвечает на сообщение, ответ должен перейти к администратору базы данных, а не адресу, используемому агент SQL Server. В этом сценарии учетная запись используется SqlAgent@adventure-works.com в качестве адреса электронной почты. Отображаемое имя имеет SQL Server Agent Automated Mailerзначение . Учетная запись используется danw@adventure-works.com в качестве ответа на адрес, поэтому ответы на сообщения, отправленные из этой учетной записи, переходят к администратору базы данных, а не по адресу электронной почты для агент SQL Server. С помощью указания независимых значений для этих трех параметров компонент Database Mail позволяет настраивать сообщения так, как необходимо.

Параметр @mailserver_type поддерживает значение SMTP.

Если @use_default_credentials1, почта отправляется на SMTP-сервер с помощью учетных данных ядро СУБД SQL Server. Если @use_default_credentials и 0 @username и @password указаны для учетной записи, учетная запись использует проверку подлинности SMTP. @username и @password — это учетные данные, которые используются для SMTP-сервера, а не учетных данных для SQL Server или сети, в которую находится компьютер.

Хранимая процедура sysmail_add_account_sp находится в msdb базе данных и принадлежит схеме dbo . Процедура должна выполняться с трехкомпонентным именем, если текущая база данных не msdbявляется.

Разрешения

Эта хранимая процедура принадлежит роли db_owner . Вы можете предоставить EXECUTE разрешения для любого пользователя, но эти разрешения могут быть переопределены во время обновления SQL Server.

Примеры

В следующем примере создается учетная запись с именем AdventureWorks Administrator. Эта учетная запись использует адрес электронной почты dba@adventure-works.com и посылает почту на почтовый SMTP-сервер smtp.adventure-works.com. Сообщения электронной почты, отправленные из этой учетной записи, отображаются AdventureWorks Automated Mailer From: в строке сообщения. Ответы на сообщения направляются по адресу 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';