【问题标题】:Mandrill + Rails not sending via controller but sending via consoleMandrill + Rails 不是通过控制器发送而是通过控制台发送
【发布时间】:2014-10-08 21:33:01
【问题描述】:

您好,我遇到了一个非常奇怪的问题。我按照文档设置了山魈,现在我无法通过我的控制器发送邮件。甚至设计邮件似乎都不会发送....但我可以通过控制台发送它!

我的邮件配置

  config.action_mailer.default_url_options = { :host => 'smtp.mandrillapp.com' }
  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 => ENV["MANDRILL_USERNAME"],
    :password  => ENV["MANDRILL_APIKEY"],
    :authentication => 'plain',
    :domain => 'yim.mydomain.org',
  }

我的邮件

class YimMailer < ActionMailer::Base
  default from: "notifier@yim.mydomain.org"

  def welcome_email(user, data)
    @user = user
    @data = data
    mail(to: @user.email, subject: 'Welcome!')
  end
end

在我的控制器中:

YimMailer.welcome_email(current_user, dummydata).deliver

当我通过控制台执行同一行时,它会交付。可能是什么问题?

我正在使用 Rails 4

【问题讨论】:

  • 试试set config.action_mailer.raise_delivery_errors = true 可以帮助你调试邮件问题,至少它可以告诉你在发送邮件的过程中是否有错误
  • 我刚试过……什么也没发生。它似乎没有遇到任何问题。日志是干净的,但它仍然没有交付。
  • 我也遇到了同样的问题,你找到解决办法了吗?

标签: ruby-on-rails email ruby-on-rails-4 actionmailer mandrill


【解决方案1】:

我遇到了同样的问题并重新启动了服务器(不小心),它也开始通过控制器工作!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    • 2017-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多