SQL Serverでメールを送信するようにデータベースメールを設定する場合は、少なくとも1つのデータベースメールアカウントが必要です。
sysmail_add_account_sp
を実行すると、T-SQLでデータベースメールアカウントを作成できます。 msdb
のストアドプロシージャ データベース。
データベースメールアカウントは、電子メールを送信するアカウントです。たとえば、SQL Serverエージェントジョブが失敗するたびに送信される自動電子メールがある場合、これはその電子メールを送信するアカウントです。
別の「返信先」メール、表示名などを指定することもできます。
必要に応じて、さまざまなタスクに対して複数のアカウントを持つことができます。 sysmail_add_account_sp
を実行するだけです 新しいアカウントを作成する必要があるときはいつでも。
例
データベースメールアカウントを作成する例を次に示します。
EXECUTE msdb.dbo.sysmail_add_account_sp
@account_name = 'DB Admin',
@description = 'Mail account for admin emails.',
@email_address = '[email protected]',
@replyto_address = '[email protected]',
@display_name = 'DB Automated Mailer',
@mailserver_name = 'smtp.example.com',
@port = 25;
この例では、「DBAutomatedMailer」の表示名を指定します。これは、電子メールを送信した受信者に伝えるユーザーフレンドリーな名前です。セットアップに応じて、「SQLServerエージェント」などを使用できます。
構文
上記の例には、利用可能なすべてのオプションが含まれているわけではありません。
公式の構文は次のようになります:
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 ]
各引数の詳細な説明については、Microsoftのドキュメントを参照してください。状況に合った引数を使用できます。
sysmail_update_account_sp
を使用することもできます 既存のデータベースメールアカウントを更新するためのストアドプロシージャ。
データベースメールの設定
データベースメールアカウントの作成は、そのアカウントで電子メールを送信する前に行う必要があるいくつかのことの1つにすぎません。
アカウントを作成したら、それをプロファイルに追加する必要があります(つまり、プロファイルをまだ作成していない場合は、プロファイルも作成する必要があります)。また、 msdbでユーザーを許可する必要があります プロファイルへのデータベースアクセス。
データベースメールを構成してから電子メールを送信する完全な例については、SQLServerで電子メールを送信する方法を参照してください。