sysmail_add_account_sp(Transact-SQL)

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'
    이 계정에 사용할 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는 bit이며 기본값은 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' ;

참고 항목

참조

데이터베이스 메일 저장 프로시저(Transact-SQL)

개념

데이터베이스 메일

데이터베이스 메일 계정 만들기