Configure Database Mail on SQL Server Azure VM using T-SQL で紹介されている内容ですが、SQL Server の データベースメール のメール送信元として、SendGrid を使用することができます。
日本語の情報が少ないかなと思ったので、軽くまとめてみたいと思います。
SendGrid は MarketPlace の「開発者向けサービス」→「SendGrid Email Derivery」から利用を開始することができます。
データベースメールで使用する程度の流量であれば Free プランの範囲に収まるかと。
必要な情報を入力して、SendGrid を使用できるようにします。
作成が終わると「Configuration」から、ユーザー名と SMTP サーバーを確認できますので、この情報を使用して、SQL Server でデータベースメールの設定を行います。
SendGrid 側の設定が確認できたら、SQL Server でデータベースメールを設定します。
-- データベースメールの有効化 EXEC sp_configure 'show advanced options', 1 RECONFIGURE EXEC sp_configure 'Database Mail XPs', 1 RECONFIGURE USE msdb -- プロファイルの追加 EXEC msdb.dbo.sysmail_add_profile_sp @profile_name = 'SendGridProfile' -- アカウントの作成 EXEC msdb.dbo.sysmail_add_account_sp @account_name = 'SendGridAccount', @email_address = '<ポータルで確認したメールアドレス>', @display_name = 'SendGrid Account', @mailserver_name = 'smtp.sendgrid.net', @username = '<ポータルで確認したメールアドレス>', @password = '<sendGrid を追加した際のパスワード>', @enable_ssl = 1, @port = 587 -- アカウントとプロファイルの関連付け EXEC msdb.dbo.sysmail_add_profileaccount_sp @profile_name=N'SendGridProfile', @account_name=N'SendGridAccount', @sequence_number=1 -- プロファイルセキュリティの設定 EXEC msdb.dbo.sysmail_add_principalprofile_sp @principal_name=N'guest', @profile_name=N'SendGridProfile', @is_default=1 -- テストメールの送信 EXEC sp_send_dbmail @profile_name = 'SendGridProfile' ,@recipients = '<送信先メールアドレス>' ,@body = 'データベース メールから送信されたテスト電子メールです。' ,@subject = 'データベース メールのテスト' -- プロファイルの削除 EXEC msdb.dbo.sysmail_delete_profile_sp @profile_name=N'SendGridProfile', @force_delete=False -- アカウントの削除 EXEC msdb.dbo.sysmail_delete_account_sp @account_name=N'SendGridAccount'
SQL Server Agent との連携等が必要でしたら データベース メールを使用するように SQL Server エージェント メールを構成する で。