如何使用 Devise 设置电子邮件确认?

有没有一个教程,说明如何设置设计的注册确认电子邮件从头开始(在开发和生产) ,即如果你没有设置行动邮件?

谷歌搜索刚刚发现了一些与此相关的独立文章。没有一个片段能解释得足够清楚,我也不知道它们是如何组合在一起的。是否有一个逐步的解释,甚至有什么东西可以解释最初的步骤?


终于修好了。按照下面已接受的答案中的所有步骤,然后将以下内容添加到我的環.rb 文件中:

ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
:tls => true,
:address => "smtp.gmail.com",
:port => 587,
:domain => "gmail.com",
:authentication => :login,
:user_name => "[username]",
:password => "[password]"
}
76333 次浏览

1. 确保在 Model.design 调用中包含了可确认的内容

class User < ActiveRecord::Base
devise :database_authenticatable, :confirmable ...
end

2. 确保添加了可确认的用户迁移

create_table :users do |t|
t.database_authenticatable
t.confirmable
...
end

如果你正在使用设计2.0 + 这失败了,因为设计不再提供移植帮助,所以 t.confirmable提出了一个错误。相反,从 他们的迁徙指南复制标记为“ Confirable”的块。

3. 使用以下任一命令生成设计视图,这样您就可以覆盖设计邮件程序视图:

rails generate devise:views # global
rails generate devise:views users # scoped

现在可以根据您的设置覆盖 devise/mailer/confirmation_instructions.html.erbusers/mailer/confirmation_instructions.html.erb中的邮件程序视图

4. 对于 发展环境,在 /config/environments/development.rb中添加以下配置行

config.action_mailer.default_url_options = { :host => 'localhost:3000' }
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {:address => "localhost", :port => 1025}

5.对于 /config/environments/production.rb中的 制作环境,您可以使用类似于下面的代码(假设您在本地主机上有一个 SMTP 服务器: 25) :

config.action_mailer.default_url_options = {:host => 'yourdomain.com'}
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => "127.0.0.1",
:port    => 25,
:domain  => 'yourdomain.com'
}

6 为了测试开发中的设置安装 mailcatcher gem,您将在开发中使用它作为 SMTP 服务器,捕获所有收到的邮件并在 http://localhost:1080/上显示它们:

gem install mailcatcher

安装完成后,使用以下命令启动 mailcatcher 服务器:

mailcatcher

玩具 SMTP 服务器将在端口1025上运行,捕获电子邮件并在 HTTP 端口1080上显示它们。

您现在可以创建一个帐户并查看确认信息。

我觉得你应该再编辑一遍。 端口号应该加引号. . 像这样:-

:port => "587",

我在 Rails3.2.0/ruby 1.9.2中遇到了一个问题