为了使用Mandrill API,我在我的mailers文件夹中自定义了notification_mailer.rb,但是mailboxer忽略了它,继续使用常规的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发布于 2014-12-15 21:54:21
我使用了错误的命名约定。它应该是
class MailboxerNotificationMailer < Mailboxer::BaseMailerhttps://stackoverflow.com/questions/25760103
复制相似问题