Bagikan melalui


sysmail_add_account_sp (T-SQL)

Berlaku untuk:SQL ServerAzure SQL Managed Instance

Membuat akun Email Database baru yang menyimpan informasi tentang akun SMTP.

Konvensi sintaks transact-SQL

Sintaks

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

Argumen

[ @account_name = ] 'account_name'

Nama akun yang akan ditambahkan. @account_name adalah sysname, tanpa default.

[ @email_address = ] 'email_address'

Alamat email untuk mengirim pesan. Alamat ini harus berupa alamat email internet. @email_address adalah nvarchar(128), tanpa default. Misalnya, akun untuk SQL Server Agent mungkin mengirim email dari alamat SqlAgent@adventure-works.com.

[ @display_name = ] 'display_name'

Nama tampilan yang akan digunakan pada pesan email dari akun ini. @display_name adalah nvarchar(128), dengan default NULL. Misalnya, akun untuk SQL Server Agent mungkin menampilkan nama SQL Server Agent Automated Mailer pada pesan email.

[ @replyto_address = ] 'replyto_address'

Alamat yang merespons pesan dari akun ini dikirim. @replyto_address adalah nvarchar(128), dengan default NULL. Misalnya, balasan ke akun untuk SQL Server Agent mungkin masuk ke administrator database, danw@adventure-works.com.

[ @description = ] 'deskripsi'

Deskripsi untuk akun tersebut. @description adalah nvarchar(256), dengan default NULL.

[ @mailserver_name = ] 'server_name'

Nama atau alamat IP server email SMTP yang akan digunakan untuk akun ini. Komputer yang menjalankan SQL Server harus dapat menyelesaikan @mailserver_name ke alamat IP. @mailserver_name adalah sysname, tanpa default.

[ @mailserver_type = ] 'server_type'

Tipe server email. @mailserver_type adalah sysname, dengan default SMTP.

[ @port = ] port_number

Nomor port untuk server email. @port int, dengan default 25.

[ @username = ] 'nama pengguna'

Nama pengguna yang digunakan untuk masuk ke server email. @username adalah nvarchar(128), dengan default NULL. Ketika parameter ini adalah NULL, Email Database tidak menggunakan autentikasi untuk akun ini. Jika server email tidak memerlukan autentikasi, gunakan NULL untuk nama pengguna.

[ @password = ] 'kata sandi'

Kata sandi yang digunakan untuk masuk ke server email. @password adalah nvarchar(128), dengan default NULL. Tidak perlu memberikan kata sandi kecuali nama pengguna ditentukan.

[ @use_default_credentials = ] use_default_credentials

Menentukan apakah akan mengirim email ke server SMTP menggunakan kredensial Mesin Database SQL Server. @use_default_credentials adalah bit, dengan default .0 Ketika parameter ini adalah 1, Database Mail menggunakan kredensial Mesin Database. Ketika parameter ini adalah 0, Database Mail mengirimkan parameter @username dan @password jika ada, jika tidak, mengirim email tanpa parameter @username dan @password .

[ @enable_ssl = ] enable_ssl

Menentukan apakah Database Mail mengenkripsi komunikasi menggunakan Secure Sockets Layer. @enable_ssl adalah bit, dengan default .0

[ @account_id = ] account_id OUTPUT

Mengembalikan ID akun untuk akun baru. @account_id int, dengan default NULL.

Mengembalikan nilai kode

0 (berhasil) atau 1 (kegagalan).

Keterangan

Email Database menyediakan parameter terpisah untuk @email_address, @display_name, dan @replyto_address. Parameter @email_address adalah alamat dari mana pesan dikirim. Parameter @display_name adalah nama yang ditampilkan di From: bidang pesan email. Parameter @replyto_address adalah alamat di mana balasan ke pesan email akan dikirim. Misalnya, akun yang digunakan untuk SQL Server Agent dapat mengirim pesan email dari alamat email yang hanya digunakan untuk SQL Server Agent. Pesan dari alamat tersebut harus menampilkan nama yang mudah diingat, sehingga penerima dapat dengan mudah menentukan bahwa SQL Server Agent mengirim pesan. Jika penerima membalas pesan, balasan harus masuk ke administrator database daripada alamat yang digunakan oleh SQL Server Agent. Untuk skenario ini, akun menggunakan SqlAgent@adventure-works.com sebagai alamat email. Nama tampilan diatur ke SQL Server Agent Automated Mailer. Akun ini menggunakan danw@adventure-works.com sebagai balasan untuk alamat, jadi balasan pesan yang dikirim dari akun ini masuk ke administrator database daripada alamat email untuk SQL Server Agent. Dengan menyediakan pengaturan independen untuk ketiga parameter ini, Database Mail memungkinkan Anda mengonfigurasi pesan agar sesuai dengan kebutuhan Anda.

Parameter @mailserver_type mendukung nilai SMTP.

Ketika @use_default_credentials adalah 1, email dikirim ke server SMTP menggunakan kredensial Mesin Database SQL Server. Saat @use_default_credentials dan 0@username dan @password ditentukan untuk akun, akun menggunakan autentikasi SMTP. @username dan @password adalah kredensial yang digunakan akun untuk server SMTP, bukan kredensial untuk SQL Server atau jaringan tempat komputer berada.

Prosedur sysmail_add_account_sp tersimpan ada di msdb database dan dimiliki oleh dbo skema. Prosedur harus dijalankan dengan nama tiga bagian jika database saat ini bukan msdb.

Izin

Prosedur tersimpan ini dimiliki oleh peran db_owner . Anda dapat memberikan EXECUTE izin untuk pengguna mana pun, tetapi izin ini dapat ditimpa selama peningkatan SQL Server.

Contoh

Contoh berikut membuat akun bernama AdventureWorks Administrator. Akun menggunakan alamat dba@adventure-works.com email dan mengirim email ke server smtp.adventure-works.comemail SMTP . Pesan email yang dikirim dari akun ini ditampilkan AdventureWorks Automated Mailer pada From: baris pesan. Balasan ke pesan diarahkan ke 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';