让Devise发送重置密码链接

第1步 :创建一个一次性gmail帐户,并将其命名为startup_abc_password_reset@gmail.com

第2步 :以一次性刻录机gmail帐户登录后,转到https://myaccount.google.com/lesssecureapps,然后只需单击一下切换按钮,即可从不太安全的应用程序访问该帐户。

步骤3 :如果还没有的话,将Gemfile中的gem’dotenv-rails’捆绑在一起。

  #Gemfilegem'dotenv-rails' 

然后在终端中运行bundle

步骤4 :如果尚未在Rails应用的根目录下创建一个.env文件,请执行以下操作。 确保您的 .gitigonre 文件包含 .env

步骤5 :在您的.env文件中,输入以下内容:

  GMAIL_USERNAME = your_throw_away_gmail_account_without_quotes 
GMAIL_PASSWORD = your_throw_away_gmail_password_without_quotes

步骤6 :在config/environments/development.rb下,在Rails.application.configure do块之间粘贴以下内容。

  Rails.application.configure做... config.action_mailer.smtp_settings = { 
地址:“ smtp.gmail.com”,
端口:587,
域:“ example.com”,
身份验证:“普通”,
enable_starttls_auto:是的,
user_name:ENV [“ GMAIL_USERNAME”],
密码:ENV [“ GMAIL_PASSWORD”]
} config.action_mailer.default_url_options = {:host =>'localhost:3000'} ...结束

步骤7 :在config/environments/production.rb下,在Rails.application.configure do块之间粘贴以下内容。

  Rails.application.configure do ... config.action_mailer.smtp_settings = { 
地址:“ smtp.gmail.com”,
端口:587,
域:“ example.com”,
身份验证:“普通”,
enable_starttls_auto:是的,
user_name:ENV [“ GMAIL_USERNAME”],
密码:ENV [“ GMAIL_PASSWORD”]
}#不必是Heroku,但您会得到idea.config.action_mailer.default_url_options = {:host =>'yourhostsite.herokuapp.com'} ...结束

现在,当您说忘记了Devise引擎上的密码时,它将提示您输入电子邮件地址。 如果您继续执行此操作,则如果一切顺利,您将在gmail收件箱中收到类似这样的电子邮件。

就是这样了!

资源:

https://launchschool.com/blog/handling-emails-in-rails

Ocodo在此堆栈溢出中的答案。