メール送信機能を使ってみる。(データベースメール)
2008.05.20
その他
SQL Server 2005になって、SMTPメールを送信することができるようになりました。今まではExchage Serverなどを利用するしかなかったのですが、これで既存のメールサーバーを使用できます。
まず、メールを送信できるように設定をする必要があります。
1. セキュリティ構成を変更してデータベースメールストアドプロシージャを有効にする
SQL Server セキュリティ構成ツールを使って、機能のセキュリティ構成から、
「データベースメールストアドプロシージャを有効にする」をチェックします。
2. メールのプロファイル(アカウント)を作成する
Microsoft SQL Server Management Studioを使用して、データベースメールの構成を設定します。
新規でアカウントを作成して、送信者を設定します。
3. データベースメールストアドプロシージャを実行する
データベースストアドプロシージャ、sp_send_dbmailを実行します。
たとえば以下のようにします。(使用するアカウントは、insight_mailとしています)
EXEC sp_send_dbmail
@profile_name = ‘insight_mail’,
@recipients = ‘foo@hoge.jp,foo2@hoge.jp’,
@subject = ‘メールの件名’,
@body = ‘メールの本文’,
@body_format = ‘TEXT’
これで、メールが送信できますが、ひとつ問題があります。
送られてきたメールのヘッダーを見ると、
content-type: text/plain; charset=utf-8
なのです。せめてエンコードを選択できるようにして欲しいですね。iso-2022-jpが日本では標準だと思いますので・・・。
CLRでエンコードしてメール送信するようなストアドプロシージャを作る必要があるようです。