从本地主机设计电子邮件确认

Posted

技术标签:

【中文标题】从本地主机设计电子邮件确认【英文标题】:Devise email confirmation from localhost 【发布时间】:2011-12-31 14:06:39 【问题描述】:

我可以在 Heroku 上的部署中收到注册确认电子邮件,但是当我尝试在 localhost:3000 上注册时,我收到以下错误:

undefined local variable or method `confirmed_at' for #<User:0xb67a1ff0>

在我的 config/environments/production.rb 文件中,我有:

config.action_mailer.default_url_options =  :host => 'xxxx.com' 

我有一个格式如下的初始化文件:

ActionMailer::Base.smtp_settings = 
   :user_name => "xxxx@heroku.com",
   :password => "xxxxxx",
   :domain => "xxxx.com",
   :address => "smtp.sendgrid.net",
   :port => "xxx",
   :authentication => :plain,
   :enable_starttls_auto => true
;

我需要哪些设置才能使 localhost 正常工作?

谢谢!

约翰

【问题讨论】:

【参考方案1】:

听起来您缺少用户模型的确认字段。

您可以将其与您的 schema.rb 文件关联起来。

【讨论】:

【参考方案2】:

您的本地环境迁移了吗?您的用户模型在设计调用中有:confirmable 吗?您的数据库中是否存在 User.confirmed_at(您是否有任何待处理的迁移)?

如果您有异常,您还应该从异常中添加堆栈跟踪。

【讨论】:

啊,你是对的。我跑了 rake db:drop db:create db:migrate 现在工作正常。我会尽可能接受答案。

以上是关于从本地主机设计电子邮件确认的主要内容,如果未能解决你的问题,请参考以下文章

使用设计跳过开发中的确认电子邮件

从本地主机发送电子邮件

如何正确地从本地主机发送电子邮件 [关闭]

Mercury:从本地主机发送电子邮件

如何使用codeigniter从本地主机发送电子邮件?

如何使用 phpmailer 从本地主机发送电子邮件?