我正在开发我的第一个rails应用程序,我刚刚通过Heroku将其推向生产。我的任务的下一步是在生产中创建一个帐户,并让它向该电子邮件发送电子邮件确认。
config/environments/production.rb
config.action_mailer.default_url_options = { host: 'alex-bloccit.herokuapp.com' }
config/initializers/setup_mail.rb
if Rails.env.development?
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
address: 'smtp.sendgrid.net',
port: '587',
authentication: :plain,
user_name: ENV['SENDGRID_USERNAME'],
password: ENV['SENDGRID_PASSWORD'],
domain: 'heroku.com',
enable_starttls_auto: true
}
end
config/initializers/setup_mail.rb
if Rails.env.development? || Rails.env.production?
config/initializers/devise.rb
config.mailer_sender = "alex.colbert1987@gmail.com"
代码更新到github并推送到Heroku就好了,但是当我去网站时我试图在电子邮件下创建一个电子邮件。希望这能提供足够的信息进行故障排除。
答案 0 :(得分:1)
在config/initializers/setup_mail.rb
中,您在ActionMailer配置之前有if Rails.env.development?
。由于if语句的结构方式,此配置不会在生产中运行。