我正在使用Devise身份验证和梅尔贡-红宝石发送电子邮件,并且我很难弄清楚如何使Devise的默认邮件类与Mailgun一起工作。根据邮箱文档,我已经将我的production.rb文件配置为使用邮箱设置:
config.action_mailer.delivery_method = :mailgun
config.action_mailer.mailgun_settings = {
api_key: ENV['MAILGUN_API_KEY'],
domain: 'mail.mywebsite.com'
}然后在mailer类中,我需要gem并实例化一个Mailgun::Client对象。
class MyMailer < Devise::Mailer
require 'mailgun-ruby'
helper :application
include Devise::Controllers::UrlHelpers
default template_path: 'users/mailer'
def confirmation_instructions(record, token, opts={})
mg_client = MailGun::Client.new
message_params = {
from: "me@mywebsite.com",
to: record.email,
subject: "Please confirm your account"
}
mg_client.send_message message_params
super
end
end我在devise.rb初始化器中注释掉了MailGun行,但出于某种原因,Rails正在寻找MailGun作为MyMailer的子类。为什么会这样呢?错误出现在标题- uninitialized constant MyMailer::MailGun中。
发布于 2019-11-04 14:39:12
看上去你的代码里有拼写
mg_client = MailGun::Client.new应该是
mg_client = Mailgun::Client.newhttps://stackoverflow.com/questions/58694594
复制相似问题