我使用DeviseInvitable gem来通过向用户发送邀请来验证用户身份。但是我的Rails应用程序无法发送电子邮件没有任何意义!每当我触发一个应该发送电子邮件的事件(即单击“发送”按钮)时,就会发生这种情况:
首先是控制器:
git pull
它将通过此操作^
这是我的def create
@user = User.new(user_params)
@user.password = 'temppasswordthatwillbechangedusingrailssecrets'
@user.password_confirmation = 'temppasswordthatwillbechangedusingrailssecrets'
@user.invite!
redirect_to dashboard_users_path
end
邮件程序配置:
production.rb
每当我单击“发送电子邮件”按钮(触发该控制器)时,我得到的错误是:
config.action_mailer.default_url_options = { host: "myapp.herokuapp.com" }
config.action_mailer.delivery_method = :smtp
config.action_mailer.perform_deliveries = true
我知道还有其他类似问题,但是在那里发布的答案均无效。我见过其他人谈论建立邮件服务器。我还没有设置。我也不认为你必须这样做。我以为Heroku只是覆盖了它,但我不知道。如果是造成此问题的原因,我将尝试找出如何进行设置的方法,但是如果没有,请给予任何帮助。
也许还值得一提,我没有任何邮件程序设置。我让Devise Invitable负责所有这些工作。在开发中,它确实可以使用Errno::ECONNREFUSED (Connection refused - connect(2) for "localhost" port 25):
gem起作用,但是在生产环境中却不起作用。
UPDATE
因此其中一项评论有所帮助,现在出现了这个错误:
letter_opener
我尝试允许我的gmail帐户使用Net::SMTPAuthenticationError (534-5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=Afeasdf3
,并且我也使用了less secure apps
工具,但这也没有解决问题。我仍然收到新错误。