Rails 4动作管理器不发送电子邮件

Dan*_*mos 4 ruby email gmail ruby-on-rails actionmailer

我已经尝试了所有我能想到的东西,通过Rails 4.1.6(本地开发)发送电子邮件,但没有任何工作.使用Postmark我在development.rb和application.rb中有以下内容:

config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
config.action_mailer.delivery_method = :postmark
config.action_mailer.postmark_settings = { :api_key => API_KEY }
config.action_mailer.perform_deliveries = true
Run Code Online (Sandbox Code Playgroud)

我为GMAIL尝试过:

config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
config.action_mailer.perform_deliveries = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
  address:              'smtp.gmail.com',
  port:                 587,
  domain:               'gmail.com',
  user_name:            'my_email',
  password:             'my_password',
  authentication:       'plain',
  enable_starttls_auto: true  }
Run Code Online (Sandbox Code Playgroud)

我的Mailer类看起来像这样:

class BusinessMailer < ActionMailer::Base
  default from: "my_email@email.com"

  def claim_business business

    mail(
      :subject => 'hello',
      :to      => 'myemail@email.com',
      :from    => 'myemail@email.com',
      :html_body => '<strong>Hello John Doe<strong>',
      :track_opens => 'true'
    )

  end
end
Run Code Online (Sandbox Code Playgroud)

最后我通过以下方式发送电子邮件: BusinessMailer.claim_business @business

当我触发claim_business方法时,我BusinessMailer#claim_business: processed outbound mail in 14.1ms在控制台中看到没有错误消息.谁能告诉我我在这里缺少什么?

ble*_*ump 18

你错过deliver了最终发送电子邮件的方法.尝试:

BusinessMailer.claim_business(@business).deliver
Run Code Online (Sandbox Code Playgroud)

  • 谢谢.似乎有变化.我在ActionMailer类中有我的传递方法.它发送正常 - 然后我升级到4.2.3并且它无声地失败了.放入调用类解决了.. (2认同)