我正在使用现有的Rails应用程序,并且在我应该向用户发送确认电子邮件时遇到500错误页面。已经为mailout创建了视图和控制器,但是我想知道是否需要在我的机器上设置Devise,因为我从现有的repo中分叉了文件。
请随意查看以下代码:
#customer_controller.rb
def create
@customer = Customer.new(customer_params)
begin
CheckoutMailer.welcome_customer(@customer).deliver
end
render :confirm;
end
#checkout_mailer.rb
def welcome_customer customer
@customer = customer
mail(:to => "EMAIL ADDRESS",
:subject => "Welcome!"
)
end
#production.rb
config.action_mailer.default_url_options = { host: 'URL to Heroku app' }
config.action_mailer.delivery_method = :smtp
config.action_mailer.default :charset => "utf-8"
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
config.action_mailer.smtp_settings = {
address: "smtp.gmail.com",
port: 587,
domain: "URL",
authentication: "plain",
enable_starttls_auto: true,
user_name: "GMAIL ACCOUNT NAME",
password: "PASSWORD"
}
当我从checkout_mailer.rb中删除mail(:to => "EMAIL ADDRESS", :subject => "Welcome!")
时,会显示确认页面。