概要
Rails の ActionMailer でメールクライアントに AWS SES を使う場合の設定方法を書いています。
AWS アクセスキーを用意する
SendRawEmail オペレーションを実行可能な IAM ユーザーのアクセスキーを作成します。
作成方法はこちらを参考にしてください。
AWS SDK の Rails 用プラグインをインストール
AWS SDK には Rails との統合を簡単に可能にするプラグインが公式で用意されています。
Gemfile に次の行を追記し、bundle install
を実行します。
gem 'aws-sdk-rails'
環境ファイルへ設定を追加する
config/initializers
フォルダにaws.rb
ファイルを作成します。
ここで先ほど作成したアクセスキーや使用するリージョンを設定します。
# config/initializers/aws.rb
creds = Aws::Credentials.new(
ENV['AWS_ACCESS_KEY_ID'],
ENV['AWS_SECRET_ACESS_KEY']
)
Aws::Rails.add_action_mailer_delivery_method(
:ses,
credentials: creds,
region: 'ap-northeast-1'
)
あとは、production.rb
など使用したい環境下のファイルで delivery_method
に :ses
を指定するだけです。
# config/environments/{staging,production}.rb
config.action_mailer.delivery_method = :ses