【问题标题】:ActionMailer in Rails 4: Cannot modify default 'from' addressRails 4 中的 ActionMailer:无法修改默认的“发件人”地址
【发布时间】:2014-07-15 06:50:15
【问题描述】:

这似乎是一个很奇怪的问题,在尝试从多个角度解决后,我有点卡住了。

设置非常简单,它只是一个联系表单,您可以在其中输入您的姓名、电子邮件地址、电子邮件主题和正文。此电子邮件将发送给主机(我们称之为 dfnd@gmail.com),它应该来自用户在表单中输入的电子邮件地址。

setup_mail.rb

ActionMailer::Base.smtp_settings = {
  :address              => "smtp.gmail.com",
  :port                 => 587,
  :domain               => "gmail.com",
  :user_name            => ENV['ACTION_MAILER_NAME'],
  :password             => ENV["ACTION_MAILER_PASSWORD"],
  :authentication       => "plain",
  :enable_starttls_auto => true
}

ActionMailer::Base.default_url_options[:host] = ENV['ACTION_MAILER_HOST']

notifications_mailer.rb

class NotificationsMailer < ActionMailer::Base

  def new_message(message)
    @message = message
    mail(to: "dfnd@gmail.com", subject: "Contact Form: #{message.subject}")
  end

end

pages_controller.rb

 def create
    @message = Message.new(params[:message])

    if @message.valid?
      NotificationsMailer.new_message(@message).deliver
      redirect_to(root_path)
    else
      flash[:error] = "Please fill in the required fields appropriately."
      redirect_to contact_path
    end
  end

在我的应用程序中“卡住”的“发件人”电子邮件地址是 testlove@gmail.com(这是 ACTION_MAILER_NAME 环境变量)。无论我在哪里更改我的 rails 应用程序中的“发件人”或默认的“发件人”电子邮件地址,它始终是 testlove@gmail.com。

即使我像这样在 development.rb 中设置默认值:

config.action_mailer.default_options = {from: 'no-reply@example.com'}

“发件人”电子邮件地址仍为 testlove@gmail.com

更奇怪的是,如果我查看我的服务器日志,它会显示正确的电子邮件地址,但是当我打开实际的电子邮件时,它再次总是 testlove@gmail.com。

对此有何见解?我已经多次重新启动我的服务器,并且对为什么会发生这种情况感到非常困惑。

【问题讨论】:

  • 据我所知,如果您使用 Gmail,您将无法做到这一点。您应该使用自己的邮件设置。看看sendgrid.com
  • 看起来很有希望,谢谢。
  • @Santosh,非常感谢。 SendGrid 的工作就像一个魅力!
  • 没问题。我已将其添加为答案。 :)

标签: ruby-on-rails actionmailer


【解决方案1】:

这无法使用 Gmail SMTP 设置完成。

您应该使用自己的邮件设置。看看Sendgrid

【讨论】:

  • SendGrid 不仅易于设置,而且非常快速。我不得不说我印象深刻。
  • 是的。您可以将其用作 Heroku 中的附加组件。
猜你喜欢
  • 2011-01-27
  • 1970-01-01
  • 2015-02-16
  • 1970-01-01
  • 1970-01-01
  • 2013-05-27
  • 2010-10-31
  • 1970-01-01
  • 2013-10-16
相关资源
最近更新 更多