共用方式為


sysmail_add_account_sp (Transact-SQL)

建立新的 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 Agent 的帳戶可能會從 SqlAgent@Adventure-Works.com 地址傳送電子郵件。

  • [ @display_name = ] 'display_name'
    這個帳戶發出的電子郵件訊息所用的顯示名稱。 display_name 是 nvarchar(128),預設值是 NULL。 例如,SQL Server Agent 的帳戶在電子郵件訊息上顯示的名稱可能會是 SQL Server Agent Automated Mailer

  • [ @replyto_address = ] 'replyto_address'
    這是在回應此帳戶的訊息時,回應的傳送地址。 replyto_address 是 nvarchar(128),預設值是 NULL。 例如,回覆給 SQL Server Agent 帳戶的郵件,可能會傳送給資料庫管理員 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 時,Database Mail 不會在這個帳戶上使用驗證。 如果郵件伺服器不需要驗證,使用者名稱便使用 NULL。

  • [ @password = ] 'password'
    用來登入電子郵件伺服器的密碼。 password 是 nvarchar(128),預設值是 NULL。 除非指定了使用者名稱,否則,不需要提供密碼。

  • [ @use_default_credentials = ] use_default_credentials
    指定是否要使用 SQL Server Database Engine 的認證將郵件傳送至 SMTP 伺服器。 use_default_credentials 是位元,預設值為 0。 當此參數是 1 時,Database Mail 會使用 Database Engine 的認證。 若此參數是 0,Database Mail 會傳送 @username@password 參數 (如果有的話),否則會傳送不含 @username@password 參數的郵件。

  • [ @enable_ssl = ] enable_ssl
    指定 Database Mail 是否使用安全通訊端層加密通訊。 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 Agent 所用的帳戶,可以從只供 SQL Server Agent 使用的電子郵件地址傳送電子郵件訊息。 這個地址所送出的訊息應該會顯示易記名稱,使收件者能夠輕鬆判斷是 SQL Server Agent 送出訊息。 如果收件者回應訊息,這個回應應該會送給資料庫管理員,而不是 SQL Server Agent 所用的地址。 在這個狀況中,帳戶會利用 SqlAgent@Adventure-Works.com 來作為電子郵件地址。 顯示名稱設為 SQL Server Agent Automated Mailer。 此帳戶會使用 danw@Adventure-Works.com 來當做回應地址,因此,這個帳戶所送出之訊息的回應會送給資料庫管理員,而不是 SQL Server Agent 的電子郵件地址。 Database Mail 分別提供這三個參數的獨立設定,因此,您可以依照需要來設定訊息。

提供 @mailserver_type 參數,讓未來的版本更加靈活。 SQL Server 2005 及更新的版本可支援對 @mailserver_type 使用 'SMTP' 值。

@use_default_credentials 是 1 時,郵件會使用 SQL Server Database Engine 的認證傳送至 SMTP 伺服器。 當 @use_default_credentials 是 0 時,且有指定帳戶的 @username@password,則帳戶會使用 SMTP 驗證。 @username@password 是帳戶在 SMTP 伺服器上所用的認證,而不是 SQL Server 或電腦所在網路的認證。

預存程序 sysmail_add_account_spmsdb 資料庫中,擁有者是 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' ;

請參閱

參考

Database Mail 預存程序 (Transact-SQL)

概念

Database Mail

建立 Database Mail 帳戶