アクションメーラーを使用して、ユーザーがサインアップするたびに簡単なメールを送信しようとしていますが、アクションメーラーはまったくメールを送信していないようです。面白いことに、リダイレクトコードは機能し、ローカルホストではページが正しくレンダリングされますが、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>
よろしくお願いします!