Microsoft IIS 7.5
本章はIIS 7.5と ASP.NET が動作するWindows Server 2008 R2でメール送信を行うための設定に関して記載しています。SSL/TLSが必要な場合、それぞれ設定が必要になります。
IIS 7.5の設定
はじめにSendGridと連携するためにIISの設定を行う必要があります。本章では、サイトを設定済みでルートディレクトリが正しく表示されることを前提にしています。
- WindowsのIIS 7.0/7.5マネージャーを開きます。
- サイトをクリックして、画面右側に設定ページが表示されることを確認します。
- 画面下部の ASP.NET セクションで SMTP電子メール をダブルクリックします。
- メールアドレスフィールドに送信者として表示されるメールアドレスを入力します。
- まだ有効化されていない場合、 SMTPサーバーへの電子メール配信 ラジオボタンをクリックします。
- SMTPサーバにはlocalhostと入力します。
- ポートには25と入力します。
- 認証の設定で 必要なし を選択します。
- 画面右側のアクションペインで適用を選択します。
localhostのIIS6.0サーバに対して追加の設定を行う場合、ここで設定を行い、IIS 6.0 GUI上で同じ認証を行ってください。
SMTPサービスの有効化
- スタートメニュー > 全てのプログラム > 管理ツール > サーバーマネージャーを開きます。
- ナビゲーションペイン上で機能をクリックします。
- 機能の追加リンクをクリックしてウィザードを開始します。
- リストを下にスクロールしてSMTPサーバーを表示し、チェックボックスをONにします。機能の追加ウィザードが表示され、SMTPサーバーに依存する全てのアイテムがリスト表示されます。 必要な役割サービスを追加をクリックします。
- 次へを2回クリックします。
- 有効なIIS役割サービスのリストを確認して追加したいもののチェックボックスをONにします。
- 次へをクリックした後でインストールをクリックします。
SMTPサーバーがインストールされると、IIS 6.0仮想サーバが有効化され、IIS 6.0 マネージャースナップインが有効になります。
メールのリレー設定の変更
- スタートメニュー > 全てのプログラム > 管理ツール > IIS 6.0 マネージャーを開きます。
- SMTP Virtual Server #1上で右クリックしてプロパティを選択します。
- サーバの設定状況を確認しやすいように ログ収集を有効にする をクリックして有効化します。
- プロパティ をクリックして ファイル名およびロールオーバーに地域設定を使用する を有効化します。
- 詳細設定 タブをクリックして以下のアイテムをチェックします: 日付, 時間, クライアントIPアドレス, ユーザー名, サービス名, サーバー名, サーバーIPアドレス, サーバーポート, メソッド, プロトコルの状態, 送信バイト数, プロトコルバージョン, ホスト。
- OK をクリックします。
- アクセス タブをクリックして 中継の制限 セクションで内で 中継 ボタンをクリックします。
- 追加 をクリックして127.0.0.1と入力して OK をクリックします。IPアドレスがアクセス許可リストに表示されます。
- 以下のリストに含まれるコンピュータのみ を選択し、127.0.0.1 からの接続を許可します。
- OK をクリックして アクセス タブに戻ります。
- 配信 タブを選択して 送信セキュリティ ボタンを選択します。
- 基本認証 をクリックして ユーザー名 にapikey(固定文字列)、パスワード にSendGridアカウントで発行したAPIキーを入力します。
- OK をクリックします。
- 詳細設定 ボタンをクリックします。
- スマートホスト にsmtp.sendgrid.netと入力します。
- OK を2回クリックしてIIS 6.0マネージャーを閉じます。
ドメインの設定
この時点で、SendGridにメールをリレーするSMTPドメインの設定を行う必要があります。詳しくはマイクロソフト社のドキュメントを参照してください。
新しい設定のテスト
はじめに、telnetを使ってテストします。Windows上でtelnetクライアントを開きます。コマンドプロンプトで以下のコマンドを実行します:
1
|
|
ここでtelnetを実行して、以下のコマンドをそのまま実行してください。ENTERで改行します。(正しく設定されていれば、ピリオドを入力するまではサーバは何も動作を行いません):
1 2 3 4 5 6 |
|
EHLO コマンドとドメイン名を入力することでメールサーバに対してどのドメインから送信するかを伝えます。MAIL FROM: コマンドは標準のMIMEエントリで、送信者のメールアドレスを意味します。RCPT TO: コマンドはメッセージ送信先アドレスを意味します。 DATA コマンドは次に入力される情報がメッセージのボディであることをサーバに伝えます。最後にデータを入力後、ピリオド(.)を入力するとサーバに入力が完了したことを伝えます。Enterを押すとメッセージが送信されます。
手動で入力したコマンドが動作したら、以下の成功コードが返ります:
1
|
|
また、先ほど有効化したログ機能を使ってテストすることもできます。テキストエディタでIIS 6.0, 7.5のログファイルを表示して確認することができます。インストールの手順内でログファイルの格納場所を変更していなければ C:\Windows\System32\LogFiles ディレクトリ配下にログが保存されます。
OutboundConnectionCommand and Outbound ConnectionResponse stepsを経てサーバがメールを送信したことを示しています。EHLO, AUTH, MAIL, RCPT, DATA, 終了など様々なステージの情報とともにメールの送信が成功しています。 最後にSendGridのダッシュボードで設定が正しく行われていることを確認します。SendGridの認証情報を使ってSendGridのダッシュボードにログインします。ダッシュボードタブでSendGridを通じて最近送信したメッセージのリストを確認することができます。この数字はtelnetやASP.NETのテストスクリプトを使ってメールを送信すると1ずつインクリメントされていきます。