0

アクションメーラーを使用して、ユーザーがサインアップするたびに簡単なメールを送信しようとしていますが、アクションメーラーはまったくメールを送信していないようです。面白いことに、リダイレクトコードは機能し、ローカルホストではページが正しくレンダリングされますが、herokuでは「申し訳ありませんが問題が発生しました」と表示されます。

ユーザーコントローラーで行っていることは次のとおりです。

if @user.save    
     UserMailer.welcome_email(@user).deliver
     flash[:success] = "Congratulations, you've created your band app account!"
     redirect_to root_path
else
  render 'new'
end

コントローラで参照されるwelcome_emailメソッド:

class UserMailer < ActionMailer::Base
  default from: "admin@something.com"

  def welcome_email(user)
    @user = user
    @url = signin_path
    mail(to: user.email, subject: "Your band app account has been created" )
  end
end

最後に、メールビューのコード(app / views / user_mailerのwelcome_email.html.erb:

<!DOCTYPE html>
<html>
  <body>
    <h1>Welcome to the band app, <%= @user.name %></h1>
    <p>
      Your band app account has been created.<br/>
    </p>
    <p>
      To login to the site, just follow this link: <%= @url %>.
    </p>
    <p>Thanks for joining and have a great day!</p>
  </body>
</html>

よろしくお願いします!

4

1 に答える 1

2

ファイルを設定しましたenvironmentか?

ここに記載されているようにhttp://guides.rubyonrails.org/action_mailer_basics.html#action-mailer-configuration-for-gmaildevelopment.rbまたは作業しているENVに関連するファイルを次の設定で設定する必要があります。

config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
  :address              => "smtp.gmail.com",
  :port                 => 587,
  :domain               => 'baci.lindsaar.net',
  :user_name            => '<username>',
  :password             => '<password>',
  :authentication       => 'plain',
  :enable_starttls_auto => true  }

:user_nameリンクにGmailの例が示されていることは知っていますが、使用しているメールアドレス( )、パスワードなど、ENVファイルでこれらの構成を設定する必要があります。

于 2012-07-02T19:40:07.110 に答える