これまでに作った機能について簡単にまとめていく。
今回は、
Heroku環境でXserverからメールを送信する
開発環境での設定はこちら
前提条件
以下の情報が必要
Xserverのサーバー名、
ユーザー名(メールアドレス)、
パスワード
メイラーの作成
今回は、ユーザー登録時の通知メールを作成
$ rails g mailer EntryMailer
メール送信処理の作成
app/mailers/entry_mailer.rb
class EntryMailer < ApplicationMailer def comfirm_mail(user) @mail = user.mail @user = user.name mail to: "#{@mail}", subject: "ご登録が完了しました。" end end
本番環境でのメールの設定
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の場合メールを送信できない
以上で作成完了