これまでに作った機能について簡単にまとめていく。
今回は、
Heroku環境でXserverからメールを送信する
開発環境での設定はこちら
前提条件
以下の情報が必要
Xserverのサーバー名、
ユーザー名(メールアドレス)、
パスワード
メイラーの作成
今回は、ユーザー登録時の通知メールを作成
1 |
$ rails g mailer EntryMailer |
メール送信処理の作成
app/mailers/entry_mailer.rb
1 2 3 4 5 6 7 8 |
class EntryMailer < ApplicationMailer def comfirm_mail(user) @mail = user.mail @user = user.name mail to: "#{@mail}", subject: "ご登録が完了しました。" end end |
本番環境でのメールの設定
1 2 3 4 5 6 7 8 9 10 11 12 13 |
config.action_mailer.default_url_options = { host: 'herokuドメイン' } config.action_mailer.raise_delivery_errors = true config.action_mailer.delivery_method = :smtp config.action_mailer.perform_deliveries = true config.action_mailer.default :charset => "utf-8" config.action_mailer.smtp_settings = { :address => ENV['SERVER'], :port => 587, :user_name => ENV['USERNAME'], :password => ENV['PASSWORD'], :authentication => :plain, :enable_starttls_auto => true } |
注意
Herokuサーバーが海外にあるため、
XserverのSMTP認証の国外アクセス制限設定がONの場合メールを送信できない
以上で作成完了