我最近安装了ActiveAdmin,我正在使用User模型。在我创建了初始AdminUser后,我尝试添加另一个AdminUser,它应该发送一封电子邮件来设置密码,但它无法发送电子邮件。
我在配置/开发文件夹中有这个代码
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
这在我的AdminUser模型中
after_create { |admin| admin.send_reset_password_instructions }
def password_required?
new_record? ? false : super
end
不确定为什么我不发送电子邮件给我更改密码。
答案 0 :(得分:2)
您遇到问题,因为您没有配置任何服务器来发送电子邮件。 你正走在正确的道路上。只需添加以下内容。
请在app / Gemfile中添加以下行并运行bundle install。
gem "letter_opener"
然后将以下行添加到config / enviornments / development.rb
config.action_mailer.delivery_method = :letter_opener
以上代码将帮助您在浏览器中查看结果,实际上并不会发送电子邮件。
要发送实际的电子邮件,您需要更改以下行,并需要添加smtp代码。(smtp服务器)
config.action_mailer.delivery_method = :smtp
然后在上面的行下方添加以下行:
config.action_mailer.smtp_settings = {
:address => "smtp.sendgrid.net",
:port => 587,
:domain => 'gmail',
:user_name => 'gmail username',
:password => 'gmail password',
:authentication => 'plain',
:enable_starttls_auto => true
}