我在Rails 4应用程序中使用admin mailer。
我有两封电子邮件在注册后发送。一个是我,另一个是给用户。它们应该从不同的电子邮件地址发送,每个电子邮件地址都在邮件程序方法的from字段中指定(如下所示)。问题是它们都是从第一种方法中指定为发件人的电子邮件地址发送的。
我的邮件程序方法是:
def new_user_waiting_for_approval(user)
@user = user
mail(to: "aa@gmail.com", from: "bb@gmail.com",
subject: "Registration Request #{user.first_name} #{user.last_name} <#{user.email}>")
end
def new_user_waiting_for_access(user)
@user = user
mail(to: user.email, from: "cc@gmail.com", subject: "Welcome, #{user.first_name}")
end
在我的Admin_Mailer课程中,我有一个默认的&#39;来自:&#39;在上述第一种方法中指定为发件人的方法上方的电子邮件地址。这可能会覆盖方法本身中指定的from。
有谁知道如何在不同的方法中指定不同的发件人,以便我的电子邮件从相应的电子邮件地址发送?
谢谢
答案 0 :(得分:0)
如果您无法通过更改配置来解决问题,可以使用下面给出的代码。
将此代码段添加到您的代码库中。
class Emailer < ActionMailer::Base
def activation_instructions(recipients_emails, sender = nil, mail_subject = nil, text = "")
subject mail_subject || "Default subject"
recipients recipients_emails
from sender || "default_mail_id@abc.com"
sent_on Time.now
content_type "text/html"
body text
end
end
您可以通过调用上面定义的方法发送邮件,如下所示。
Emailer.deliver_activation_instructions("recient@abc.com", "sender@abc.com", "Subject", "content")