我正在尝试将来自用户的电子邮件传递给默认的:字段,以便它看起来直接来自他们。这就是我现在所拥有的。有没有办法将动态变量引入默认的字段?
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
答案 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 中根本不起作用