1

为了使用 Mandrill API,我在我的 mailers 文件夹中自定义了 notification_mailer.rb,但 mailer 忽略了它并继续使用常规的 smtp 方法。我对 Devise 做了同样的事情,但 Devise 在其初始化文件管理器中有一个 config.mailer。不是邮箱。

下面是邮件文件。感谢指点。

class Mailboxer::NotificationMailer < Mailboxer::BaseMailer
#Sends and email for indicating a new notification to a receiver.
#It calls new_notification_email.

def mandrill_client
  require 'mandrill'
  @mandrill_client ||= Mandrill::API.new ENV['MANDRILL_APIKEY']
end


def send_email(notification, receiver)
  new_notification_email(notification, receiver)
end

#Sends an email for indicating a new message for the receiver
def new_notification_email(notification, receiver)
  @notification = notification
  @receiver     = receiver
  set_subject(notification)

  template_name = "new-notification-email-fr"
  template_content = []
  message = {
    to: [receiver.send(Mailboxer.email_method, notification)],
    subject: t('mailboxer.notification_mailer.subject', :subject => @subject),
    merge_vars: [
      {rcpt: receiver.send(Mailboxer.email_method, notification),
        vars: [
          ]
        }
      ]
    }
    mandrill_client.messages.send_template template_name, template_content, message
  end
end
4

1 回答 1

0

我使用了错误的命名约定。应该是

class MailboxerNotificationMailer < Mailboxer::BaseMailer
于 2014-12-15T13:54:20.610 回答