是否可以使用Rails Action Mailer中的数据库中的电子邮件替换默认值?

时间:2014-11-25 22:34:47

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

我正在尝试将来自用户的电子邮件传递给默认的:字段,以便它看起来直接来自他们。这就是我现在所拥有的。有没有办法将动态变量引入默认的字段?

class IntroMailer < ActionMailer::Base
      default from: "Me@gmail.com"

      def intro_email(intro)
        @intro = intro
        mail(to: @intro.person1_email, subject: 'Testing Intro Email')
      end
    end

3 个答案:

答案 0 :(得分:1)

您可以在Mailer操作的mail方法中覆盖它:

class IntroMailer < ActionMailer::Base
  default from: "Me@gmail.com"

  def intro_email(intro, current_user)
    mail(to: intro.person1_email, subject: 'Testing Intro Email', from: current_user.email)
  end
end

警告。像Google这样的电子邮件客户端非常聪明地检测垃圾邮件。如果他们发现某个特定的SMTP服务器正在发送包含许多不同内容的电子邮件,那就是&#39;属性,您的垃圾邮件评分将上升,您的电子邮件将被垃圾邮件过滤器过滤掉。要解决此问题,请选择符合电子邮件类型的一个或两个默认from电子邮件(例如support@mywebsite.com&amp; jobs@mywebsite.com),然后添加动态{{1} }而不是。

reply_to

答案 1 :(得分:0)

默认只是一个默认地址,因此您可以在发送这样的邮件时覆盖它:

mail(from: @some_object.mail, ...)

答案 2 :(得分:0)

实际上不是,它在 Rails 5.XX 中根本不起作用