为了使用 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