繁体   English   中英

Rails Action_Mailer

[英]Rails Action_Mailer

我在Rails 4应用程序中使用管理员邮件。

我有两封电子邮件在注册时发出。 一个是给我的,另一个是给用户的。 它们应该从不同的电子邮件地址发送,每个电子邮件地址都在mailer方法的“发件人”字段中指定(如下所述)。 问题在于它们都是从第一种方法中指定为发件人的电子邮件地址发送的。

我的邮寄方法是:

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类中,我在方法上方有一个默认的“发件人:”电子邮件地址,该方法在上述方法中的第一个方法中指定为发件人。 这可能会覆盖方法本身中指定的from。

有谁知道如何用不同的方法指定不同的发件人,以便我的电子邮件从适当的电子邮件地址发送?

谢谢

如果您无法通过更改配置来解决问题,则可以使用以下代码。

将此代码段添加到您的代码库中。

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")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM