sysmail_add_account_sp(Transact-SQL)
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 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'
이 계정에 사용할 SMTP 메일 서버의 이름 또는 IP 주소입니다. 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이면 데이터베이스 메일은 이 계정에 대한 인증을 사용하지 않습니다. 메일 서버에 인증이 필요하지 않은 경우 username에 NULL을 사용합니다.[ @password = ] 'password'
전자 메일 서버에 로그온하는 데 사용할 암호입니다. password는 nvarchar(128)이며 기본값은 NULL입니다. username을 지정하지 않으면 암호를 제공할 필요가 없습니다.[ @use_default_credentials = ] use_default_credentials
SQL Server 데이터베이스 엔진의 자격 증명을 사용하여 메일을 SMTP 서버로 보낼지 여부를 지정합니다. use_default_credentials은 비트이며 기본값은 0입니다. 이 매개 변수가 1이면 데이터베이스 메일에서는 데이터베이스 엔진의 자격 증명을 사용합니다. 이 매개 변수가 0이면 데이터베이스 메일에서는 @username 및 @password 매개 변수를 보냅니다(있는 경우). 그렇지 않은 경우 @username 및 @password 매개 변수 없이 메일을 보냅니다.[ @enable_ssl = ] enable_ssl
데이터베이스 메일에서 SSL(Secure Sockets Layer)을 사용하여 통신을 암호화할지 여부를 지정합니다. Enable_ssl은 bit이며 기본값은 0입니다.[ @account_id = ] account_id OUTPUT
새 계정의 계정 ID를 반환합니다. account_id는 int이며 기본값은 NULL입니다.
반환 코드 값
0(성공) 또는 1(실패)
주의
데이터베이스 메일은 @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 에이전트의 전자 메일 주소가 아니라 데이터베이스 관리자에게 전달됩니다. 이 세 매개 변수에 독립된 설정을 제공하면 데이터베이스 메일에서 사용자 요구 사항에 맞게 메시지를 구성할 수 있습니다.
@mailserver_type 매개 변수는 다음 릴리스에서의 유연성을 위해 제공됩니다. SQL Server 2005 이상에서는 @mailserver_type으로 'SMTP' 값을 지원합니다.
@use_default_credentials가 1이면 메일이 SQL Server 데이터베이스 엔진의 자격 증명을 사용하여 SMTP 서버로 전달됩니다. @use_default_credentials가 0이고 계정에 @username 및 @password를 지정하면 이 계정에서는 SMTP 인증을 사용합니다. @username과 @password는 SQL Server 또는 컴퓨터가 설정되어 있는 네트워크에 대한 자격 증명이 아니라 계정이 SMTP 서버에 사용하는 자격 증명입니다.
sysmail_add_account_sp 저장 프로시저는 msdb 데이터베이스에 있으며 dbo 스키마가 소유합니다. 현재 데이터베이스가 msdb가 아닐 경우 이 프로시저를 세 부분으로 구성된 이름으로 실행해야 합니다.
사용 권한
이 프로시저에 대한 실행 권한은 기본적으로 sysadmin 고정 서버 역할의 멤버로 설정됩니다.
예
다음 예에서는 AdventureWorks Administrator라는 계정을 만듭니다. 이 계정은 dba@Adventure-Works.com이라는 전자 메일 주소를 사용하고 SMTP 메일 서버 smtp.Adventure-Works.com으로 메일을 보냅니다. 이 계정에서 보낸 전자 메일 메시지의 보낸 사람: 줄에는 AdventureWorks Automated Mailer가 표시됩니다. 메시지에 대한 회신은 danw@Adventure-Works.com으로 전달됩니다.
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' ;