rails不在本地环境中发送邮件

时间:2015-07-21 13:00:36

标签: ruby-on-rails ruby email mailer

我无法让我的邮件程序在开发环境中工作。 这是我在development.rb上的配置:

config.action_mailer.default_url_options = { host: 'localhost:3000' }
config.action_mailer.perform_deliveries = true

config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
  address: 'smtp.mandrillapp.com',
  port: 587,
  enable_starttls_auto: true,
  user_name: 'user@email.com,
  password: 'mypassword,
  authentication: 'login',
  domain: 'mandrill.com'
}

我的邮件方法:

class InformationRequestMailer < ActionMailer::Base
  def information_request(operator, ref, property_url, contact_info)
    @operator = operator
    @property_url = property_url
    mail(to: operator.email, subject: t("information_request_mailer.subject", property_ref: ref))
  end
end

我在这称呼它:

InformationRequestMailer.delay.information_request(
    operator: operator,
    ref: ref,
    property_url: property_url,
    contact_info: params[:contact_info]
)

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果你有一个当前的Rails版本,这应该有效:

InformationRequestMailer.information_request(
  operator: operator,
  ref: ref,
  property_url: property_url,
  contact_info: params[:contact_info]
).deliver_later

由于你想使用延迟交付,你需要让工作人员排队。