これまでに作った機能について簡単にまとめていく。

今回は、

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の場合メールを送信できない

以上で作成完了