Amazon EC2, Beanstalkでサーバー運営しており、Webサービスを運営しているのですが、メールをユーザに送る機能がありません。(ユーザ登録が完了したときや、その他DBに入れているメールアドレスに一斉送信したい)Amazon SESを使おうと思っています。DBに入れてるメールアドレスからSESに繋げて、メールを一斉送信する方法を教えてください!今はSESで自分のメールアドレスから自分の認証したアドレスに送るところまで出来ています。
まずユーザー登録した時にSESを使用するのはおすすめしません。SESを経由してメールを送信すると短くとも数秒のラグが生じ、ユーザービリティを非常に損ねてしまうので、EC2のサーバから直接送信するべきでしょう。サーバーサイドのアプリケーションからmailコマンドを呼び出すなりしてメールを送信します。EC2でのメール送信にはデフォルトで送信数制限がかかっていますが、申請すればこの制限は解除されます。
またSESを経由しての送信はamazonが公開しているライブラリを使用すれば簡単に行えます。プログラミング言語ごとにドキュメントと共に公開されているのでそちらを参照してください。データベースに格納されているメールアドレス宛に送るには、必ずしもウェブアプリケーションを利用する必要はありません。プログラミング言語からデータベースを接続して取り出し、BCCやループを回してSESのAPIを呼び出すだけで良いでしょう。専用のファイルを一つ用意して必要に応じてコマンドラインから実行すれば大丈夫です。
みんなの回答 1 件
まずユーザー登録した時にSESを使用するのはおすすめしません。
SESを経由してメールを送信すると短くとも数秒のラグが生じ、ユーザービリティを非常に損ねてしまうので、EC2のサーバから直接送信するべきでしょう。サーバーサイドのアプリケーションからmailコマンドを呼び出すなりしてメールを送信します。EC2でのメール送信にはデフォルトで送信数制限がかかっていますが、申請すればこの制限は解除されます。
またSESを経由しての送信はamazonが公開しているライブラリを使用すれば簡単に行えます。プログラミング言語ごとにドキュメントと共に公開されているのでそちらを参照してください。
データベースに格納されているメールアドレス宛に送るには、必ずしもウェブアプリケーションを利用する必要はありません。プログラミング言語からデータベースを接続して取り出し、BCCやループを回してSESのAPIを呼び出すだけで良いでしょう。専用のファイルを一つ用意して必要に応じてコマンドラインから実行すれば大丈夫です。
関連するトピックス