これまでに作った機能について簡単にまとめていく。
今回は、
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の場合メールを送信できない
以上で作成完了
