sysmail_add_account_sp (Transact-SQL)
Создает новую учетную запись компонента Database Mail, хранящую сведения об учетной записи SMTP.
Синтаксис
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.[ @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, должен быть способен преобразовать аргумент server_name в IP-адрес. Аргумент server_name имеет тип sysname и не имеет значения по умолчанию.[ @mailserver_type = ] 'server_type'
Тип сервера электронной почты. Аргумент server_type имеет тип sysname и значение по умолчанию 'SMTP'.[ @port = ] port_number
Номер порта сервера электронной почты. Аргумент port_number имеет тип int и значение по умолчанию 25.[ @username = ] 'username'
Имя пользователя для входа на сервер электронной почты. Аргумент username имеет тип nvarchar(128) и значение по умолчанию NULL. Если этот параметр установлен в NULL, компонент Database Mail не использует проверку подлинности для этой учетной записи. Если почтовый сервер не требует проверки подлинности, используйте NULL в качестве имени пользователя.[ @password = ] 'password'
Пароль для входа на сервер электронной почты. Аргумент password имеет тип nvarchar(128) и значение по умолчанию NULL. Нет необходимости указывать пароль, если не указано имя пользователя.[ @use_default_credentials = ] use_default_credentials
Указывает, посылать ли почту серверу SMTP с помощью учетных данных компонента SQL Server Database Engine. Аргумент use_default_credentials имеет тип bit и значение по умолчанию 0. Если этот параметр равен 1, компонент Database Mail использует учетные данные компонента Database Engine. Если этот параметр равен 0, компонент Database Mail передает параметры @username и @password, если они представлены, в противном случае почта пересылается без параметров @username и @password.[ @enable_ssl = ] enable_ssl
Определяет, шифрует ли компонент Database Mail передаваемые данные с помощью протокола Secure Sockets Layer. Аргумент Enable_ssl имеет тип bit и значение по умолчанию 0.[ @account_id = ] account_id OUTPUT
Возвращает идентификатор новой учетной записи. Аргумент account_id имеет тип int и значение по умолчанию NULL.
Значения кодов возврата
0 (успешное завершение) или 1 (неуспешное завершение)
Замечания
Компонент Database Mail предоставляет отдельные значения для аргументов @email_address, @display_name и @replyto_address. Аргумент @email_address является адресом, с которого послано сообщение. Аргумент @display_name является именем, отображаемым в поле От: сообщения электронной почты. Аргумент @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 предназначен для обеспечения гибкости в будущих версиях. В SQL Server 2005 и более поздних версиях для параметра @mailserver_type предусмотрена поддержка значения 'SMTP'.
Если аргумент @use_default_credentials равен 1, почта посылается на сервер SMTP с использованием учетных данных компонента SQL Server Database Engine. Если аргумент @use_default_credentials равен 0 и указаны значения аргументов @username и @password для учетной записи, учетная запись использует проверку подлинности SMTP. Аргументы @username и @password — это учетные данные, используемые учетной записью для SMTP-сервера, а не для SQL Server или сети, в которой находится компьютер.
Хранимая процедура sysmail_add_account_sp находится в базе данных msdb и принадлежит схеме dbo. Если текущей базой данных является не msdb, процедуру следует выполнять с трехкомпонентным именем.
Разрешения
По умолчанию разрешения на выполнение этой процедуры имеют члены предопределенной роли sysadmin сервера.
Примеры
В следующем примере создается учетная запись с именем AdventureWorks2008R2 Administrator. Эта учетная запись использует адрес электронной почты dba@Adventure-Works.com и посылает почту на почтовый SMTP-сервер smtp.Adventure-Works.com. Сообщения электронной почты, посланные с этой учетной записи, отображают имя AdventureWorks2008R2 Automated Mailer в поле От: сообщения. Ответы на сообщения направляются по адресу 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' ;