Amazon Simple Email Service(Amazon SES)は、企業や開発者のための、非常に拡張性が高くコスト効率の良いトランザクションバルクメール送信サービスです。Amazon SESは簡単に使えることと、デリバラビリティにフォーカスしています。Amazon SESにサインアップした後は、単にドメインを検証し、プロダクションアクセスをリクエストし、メールを送り、結果をモニタリングするだけです。
デリバラビリティとは?
デリバラビリティは送信したEメールが実際に届けたい場所に到達する見込みを指します。 デリバラビリティに影響を与える(多くの中の)一つの要因には、メールを受けとるISPが判断をする、Eメールアドレスとドメイン名の両方またはどちらかによって示される送信者の質があります。 SMTPプロトコルは誰もが知っていて、誰もがオンライン上の他の人々は知っていて、信頼していた幸せで無邪気であった頃に作られたものなので、認証のための堅牢な機能は含まれていませんでした。
Eメールの認証方法は?
この年々増加する問題に対処するために多くの認証方法が過去30年にわたり開発されてきました。これらには、SPFやSender ID、DKIMも含まれます。
SPF(Sender Policy Framework)を使えば、Eメールメッセージがどこから送信されたのかさかのぼることができます。 ISPが特定のドメインからメールを受信すると、ドメインのDNA情報に書かれた特定のレコードから、送信元のIPアドレスが正しいかをチェックします。Amazon SESはすでにSPFをサポートしています。詳しくはこちらのドキュメントを参照ください。
Sender IDはSPFの後継であり、ドメインのDNS情報のレコードに依存しています。Amazon SESはSender IDもサポートしています。詳しくはこちらのドキュメントを参照ください。
DKIM(DomainKeys Identified Mail)はEメールを認証する最も新しく、最も先進的な方法です。DKIMを使用すると、送信者は秘密鍵を使ってメッセージの本文と特定のヘッダを署名します。この署名(ハッシュコード)はメッセージと一緒に送信されます。受信者は送信者のDNS情報内のTXTレコード(Amazon SESの場合はCNAMEレコードを使います。)から取得した公開鍵を使い、メッセージ(つまり送信者とメッセージの整合性)を検証します。
Easy DKIM Signing
今までもSESでDKIM署名を行うことはできましたが、プログラムで実装するのはかなり困難でした。
今日発表したEasy DKIMサポートを使えば、DKIM署名のプロセスが単純になります。 AWS Management Console もしくはAmazon SES APIを使って送信ドメインのためのDKIM署名とその設定を行うことが可能です。 一度設定をしてしまえば、Amazon SESがDKIM署名の面倒を見てくれます。もしDNS情報の管理にRoute53を使っていれば、数回のマウスクリックで必要なCNAMEレコードの設定を行えます。
ここでは、AWS Management Consoleを介して行う方法を説明します。まず、コンソールを開き、Amazon SESタブを選択し、Verified Sendersをクリックしてください。

次にEasy DKIMを設定したい検証済みのEメールアドレスまたはドメインを選択してください。(新しいドメインを検証することから始めることもできます。)そして、ボタンを押してDKIMレコードを生成してください。するとDKIMレコードが表示されます。

次のステップは、表示されたCNAMEレコードをご使用のDNS情報に追加することです。対象のドメインをRoute53でホストしている場合は、Use Route 53ボタンをクリックするだけでDNS情報に追加できます。

後はAmazon SESがドメインがDKIMを処理できるように設定されていることが確認できるのを待つだけです。これには最大で72時間かかることがあります。ドメインが確認されると、確認のEメールを受けとることになります。この時点から、検証済み送信者リストとDKIM署名されたEメールを返すことができます。
これだけで、DKIM署名付きのEメールを送信できるようになります!!
次のステップは?
新機能、Easy DKIM サポートを含んだAmazon SES のドキュメントを読むことができます。またはAmazon SESをサインアップし、メール送信をスタートすることができます。