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

2023-12-15

是否有教程解释如何从头开始设置 Devise 的注册确认电子邮件(在开发和生产中),即如果您没有设置 Action Mailer?

谷歌搜索刚刚出现了一堆与此相关的单独片段。没有一篇文章能够解释得足够多,而且我不确定它们如何组合在一起。是否有分步说明,或者甚至可以解释初始步骤?


终于成功了。遵循下面接受的答案中的所有步骤,然后将以下内容添加到我的environment.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]"
 }

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

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

2.确保将可确认添加到用户迁移中

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

如果您使用 devise 2.0+,则会失败,因为 devise 不再提供迁移帮助程序,所以t.confirmable引发错误。相反,复制标有“可确认”的块他们的移民指南.

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

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

您现在可以覆盖邮件程序视图devise/mailer/confirmation_instructions.html.erb or users/mailer/confirmation_instructions.html.erb取决于您的设置

4. For 发展环境中添加以下配置行/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. For 生产环境在/config/environments/production.rb您可以使用类似于以下内容的内容(假设您在 localhost:25 上有一个 SMTP 服务器):

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 上。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Devise 设置电子邮件确认? 的相关文章

  • ajax 请求后无法显示 twitter bootstrap 模式

    我想在单击链接时显示模式窗口 但也想执行 ajax 请求来获取需要在模式窗口上显示的对象 我收到了需要在模态窗口上显示的内容的响应 但它没有弹出 因为模态窗口可能是脚本没有被执行 Code 主页 div div JavaScript 代码
  • 如何使用类自定义设计错误消息

    我正在使用 Twitter 引导警报消息 在我的 application html erb 中我有 div class a class close a div 通常当我想做一条闪存消息时 我会写类似的内容 flash success Pro
  • Rails Bundle,gems 冲突,解决它的最佳方法

    我在使用 Bundle 解决宝石冲突时遇到了麻烦 无法激活 activemodel 3 0 8 actionpack 3 0 8 railties 3 0 8 的构建器 gt 2 1 2 运行时 已激活 的 builder 3 0 0 黄瓜
  • Ruby 中对象属性的 Uniq

    在数组中选择一个或多个属性唯一的对象的最优雅的方法是什么 这些对象存储在 ActiveRecord 中 因此使用 AR 的方法也可以 Use Array uniq http ruby doc org core 1 9 2 Array htm
  • sunspot_rails gem - “ Errno:: ECONNREFUSED (连接被拒绝 - 连接 (2)) ”

    我使用宝石 sunspot railshttps github com outoftime sunspot https github com outoftime sunspot我按照上面的说明做了一切http railscasts com
  • 为没有`attr_accessor`的rails模型设置非数据库属性

    在 PHP 中 我可以为模型设置属性 不是数据库中的列 例如 PHP 代码 user new User user gt flag true 但是在rails中 当我设置数据库中不存在的任何属性时 它会抛出错误undefined method
  • 捆绑安装--无需生产有什么作用?

    我见过有人使用这个 我自己也按照指示使用它 我只是没有真正理解它的实际作用 我完全理解bundle install部分 但不是 without production一部分 它有什么作用以及我为什么要使用它 如果您的 Gemfile 中有一个
  • 从另一个控制器创建 ActiveRecord 对象 - 我做得正确吗?

    我正在建立一个培训网站 其中有两个模型 User and Course 与第三个模型相关 CourseCompletions 第三个模型用于跟踪哪个用户完成了哪些课程 反之亦然 前两种型号有控制器 而第三种则没有 我实现了完成课程的功能并且
  • 自定义收集路径的polymorphic_path

    我有以下路线定义 resources documents do collection do post filter end end 以及以下模型结构 class Document lt ActiveRecord Base belongs t
  • Rails 路由:仅具有自定义操作的资源

    我有一个NotificationsController 其中我只有动作clear 我想通过执行 POST notifications clear 来访问此操作 所以我在我的路由器中写了这个 resources notifications o
  • 显示对帖子acts_as_votable进行投票的用户

    我正在使用 acts as votable gem 并实现它 以便用户可以对帖子模型进行投票 我想做的是 当我显示帖子时 我想列出用户投票的内容 我目前通过以下方式显示分数 在 posts index html erb 中 这效果很好 我只
  • 使用 RSpec 测试 rake 任务后清除数据库

    我正在尝试使用 rspec 测试我的 rake 任务 它运行良好 但问题是记录随后不会被删除 我已经把config use transactional fixtures true在配置文件中没有影响 在其他测试中它运行良好 这是我的代码 r
  • Rails counter_cache 未正确更新

    使用 Rails 3 1 3 我试图找出为什么在通过 update attributes 更改父记录 id 时我们的计数器缓存没有正确更新 class ExhibitorRegistration lt ActiveRecord Base b
  • Ruby on Rails:有条件地显示部分内容

    我不确定我在这里是否采用了最好的方法 但我有一个数据块 我想在搜索完成后显示它 并且之前根本不存在 首先 没有什么可显示的 其次它引用的模型为零 因此它抛出异常 我将此块放置在部分模板中 并将其添加到布局中的适当位置 有没有办法有条件地干净
  • Rails 3.2.3 命名空间控制器被同名的全局控制器覆盖

    当全局应用程序控制器首先加载时 命名空间应用程序控制器在加载该命名空间内的页面时不会加载 应用程序控制器如下所示 class ApplicationController lt ActionController Base protect fr
  • 在 Rails 中调用 javascript 函数 onclick

    我的观点之一有以下代码
  • 从父对象的表单创建一定数量的子对象

    谢谢Ruby on Rails 如何从表单收集子表的值 https stackoverflow com questions 2020673和 Agile Web Dev 我知道如何在一个表单中使用多个模型fields for 但我正在为这件
  • 如何在 rake 任务中强制使用 RAILS_ENV?

    我有这个小耙子任务 namespace db do namespace test do task reset do ENV RAILS ENV test Rake Task db drop invoke Rake Task db creat
  • Ruby Net:SSH控制大师?

    我目前有一个 Ruby Rails 应用程序 需要建立大量的短 SSH 连接 使用 Ruby Net SSH 库可以正常工作 只是每次我想发出命令时应用程序都必须登录并协商密钥 这太慢了 有没有办法使用 Ruby Net SSH 启用 Co
  • Rails 身份验证插件推荐

    我想向我的 Rails 应用程序添加身份验证 我遇到了几个这样做的插件 acts as authenticated restful authentication Authlogic 等 我还没有看到一篇文章描述使用每种方法的差异 优点和缺点

随机推荐

  • Firestore - 使用数组添加对象

    一整天都在这里用这个东西自杀 我正在上两门课 系和文章 export class Department articals Artical moms number id string constructor and export class
  • 如何使用 jQuery 获取、操作和替换文本节点?

    这是我的代码 li class det price a href designer customize 278258 dpid 1 Printing a from 10 li 我在任何给定页面上都有大约十五个这样的块 我想获取文本节点 来自
  • 从 ANT 启动 Eclipse 运行配置

    我正在将 Orion 服务器用于基于 Java 的 Web 应用程序 我有一个运行配置 可以使用正确的类路径和所有必要的配置启动 Orion 我还有几个 ANT 脚本用于将文件复制到构建路径 我想创建一个 ANT 脚本来关闭 Orion 复
  • 如何用Python从LDA模型生成词云?

    我正在对报纸文章进行一些主题建模 并使用 Python3 中的 gensim 实现了 LDA 现在我想为每个主题创建一个词云 使用每个主题的前 20 个单词 我知道我可以打印单词 并保存 LDA 模型 但是有没有办法只保存每个主题的顶部单词
  • 用C解析和读取数据帧?

    我正在编写一个从Linux上的串口读取数据的程序 数据由另一台设备发送 帧格式如下 start Command Data CRC End 0x02 0x41 0 127 octets 0x03 数据字段包含 127 个八位位组 如图所示 八
  • 为每个单选按钮分配 2 个值

    我试图为每个单选按钮分配 2 个值 以在 2 个字段中输出 但这不起作用 这是我使用的代码 p What s your favorite browser p
  • 我是否误解了heredoc应该做什么?

    我对 PHP 很陌生 所以我知道我在这里遗漏了一些明显的东西 我认为heredoc函数应该保留格式 换行符等 但每当我测试它时 它解析时都没有格式化 我尝试了很多不同的脚本 包括来自 PHP net 和 W3schools 等来源的复制粘贴
  • Excel VBA 在函数中合并单元格

    我编写了一个粗略的函数来根据范围选择和连接单元格 Function GetSkills CellRef As String CellRefEnd As String Delimiter As String Dim CellStart As
  • 非整数的错误“整数输入语法无效”?

    我正在使用 Python 和 psycopg2 我正在尝试执行带有值列表的准备好的语句 如下所示 cur callproc prepared func prepared values psycopg2 DataError invalid i
  • 无法在 xcode 4.2 上构建我的项目

    我已将我的 xcode 升级到 4 2 使用雪豹 以前我使用的是 Xcode 3 2 6 我的项目使用它成功构建 现在我无法构建它 而是 Xcode 发出以下错误 ld warning option A is obsolete and be
  • 将生成的 img 嵌入 django 模板中

    我如何将生成的图像嵌入 django 模板中 就像是 return render to response graph html img get graph 我不想要这个 因为它只是发送图像 http HttpResponse get gra
  • FFmpeg从mp4创建m3u8,视频文件大小

    我正在使用 ffmpeg 将 mp4 转换为 m3u8 但首先我需要让 mp4 变小 我使用这段代码来缩小它 ffmpeg i big mp4 b 1000000 small mp4 然后我使用这段代码将其转换为m3u8 ffmpeg i
  • Vue 3 自定义复选框组件,带有 v-model 和项目数组

    迫切需要你们的帮助 所以基本上我有一个带有 v 模型的自定义复选框组件 我在组件上使用 v for 循环来显示带有数组中名称的复选框 在父组件中 我有两列 可用 和 选定 这个想法是 如果我选中其中一个框可用栏它应该出现在选定的列 问题是它
  • 设置 win32 控制台应用程序的库路径

    当我尝试执行简单的 HelloWorld win32 控制台应用程序时 出现 找不到 dll 重新启动应用程序可能会解决问题 错误 我知道 dll 的位置 从命令提示符执行 exe 时如何指定其位置 PS 将 dll复制到 exe的当前目录
  • Doctrine2:这些实体之间的关联有什么问题?

    我正在尝试通过简单的示例来了解 Doctrine2 中的所有更改 请查看以下实体片段 VCat php namespace Application Models Entity Table name v cat class VCat Id C
  • UITableViewCell 中加载 UIView 的 Nib 文件不会拉伸

    我有一个 UIView 可以通过 nib xib 文件重用 我想加载它并填充一个 UITableViewCell 它将在自动调整大小的 UITableView 中使用 全部带有自动布局 大多数工作都很好 但似乎加载的 UIView 使用周围
  • 如何升级Oracle 11g 11.2.0.1中的java版本[关闭]

    Closed 这个问题是无关 目前不接受答案 我的oracle数据库的java版本是1 5 0 10 如何将其升级到java 1 7 0 10 Thanks 这是不可能的 Oracle 为特定版本的 DBMS 提供了特定版本的 Java 并
  • Javascript cloneNode 不是一个函数[重复]

    这个问题在这里已经有答案了 我有几个跨度 span a span span b span span c span span d span I use getElementsByName获取跨度集合 var spans document ge
  • 修复 RegEx 中的 JSLint 擒纵机构不良警告

    我在名为的第三方 jQuery 控件中有以下代码jquery facebox js that JSLint不喜欢 这是正则表达式中的一个严重的擒纵错误 正则表达式对我来说就像 Romulan 所以我不知道如何修复错误 这是正则表达式中的句点
  • 如何使用 Devise 设置电子邮件确认?

    是否有教程解释如何从头开始设置 Devise 的注册确认电子邮件 在开发和生产中 即如果您没有设置 Action Mailer 谷歌搜索刚刚出现了一堆与此相关的单独片段 没有一篇文章能够解释得足够多 而且我不确定它们如何组合在一起 是否有分