我想通过Mailgun SMTP或API发送自动电子邮件。问题是在教程中我发现他们解释了如何手动e.i创建邮件程序等等。例如:
def send_simple_message
RestClient.post "https://api:YOUR_API_KEY"\
"@api.mailgun.net/v3/YOUR_DOMAIN_NAME/messages",
:from => "Excited User <mailgun@YOUR_DOMAIN_NAME>",
:to => "bar@example.com, YOU@YOUR_DOMAIN_NAME",
:subject => "Hello",
:text => "Testing some Mailgun awesomness!"
end
&#13;
这是来自官方的Mailgun文档。
但我正在使用已实施电子邮件发送的Devise gem。
例如我想发送密码重置电子邮件。当我点击忘记密码并从日志中提交我的电子邮件时,我看到我的电子邮件已尝试发送,但当然没有发送,我需要设置电子邮件服务器。
所以问题是这个用于发送恢复邮件的代码是用设备编写的,如何覆盖它?我希望它能够使用它,所以它将使用Mailgun API。
我已经使用
生成了registrations_controller.rbrails generate devise:controllers registrations
命令。所以我想我在这里压倒一切? 有什么建议吗?
答案 0 :(得分:2)
你读过this教程吗?您需要在 config / environments / development.rb
中进行设置类似的东西:
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: 'smtp.gmail.com',
port: 587,
domain: ENV['GMAIL_DOMAIN'],
authentication: 'plain',
user_name: ENV['GMAIL_USERNAME'],
password: ENV['GMAIL_PASSWORD']
}
此外,您可以尝试使用mail gun gem。看起来很容易设置它
config.action_mailer.delivery_method = :mailgun
config.action_mailer.mailgun_settings = {
api_key: '<mailgun api key>',
domain: '<mailgun domain>'
}
希望它对你有所帮助。