【问题标题】:Devise email routing to ip instead of domain name in rails在 Rails 中设计电子邮件路由到 ip 而不是域名
【发布时间】:2020-05-21 06:31:02
【问题描述】:

我正在通过默认的设计密码重置说明电子邮件发送密码重置说明。当我单击更改密码时,它会将我路由到本地计算机中的 localhost:3000,但在生产中它会路由到某个 ip。我认为是我们托管的云服务器,如何将其更改为域名?

这是设计密码重置说明:

<p>Hello <%= @resource.email %>!</p>

<p>Someone has requested a link to change your password. You can do this through the link below.</p>

<p><%= link_to 'Change my password', edit_password_url(@resource, reset_password_token: @token) %></p>

<p>If you didn't request this, please ignore this email.</p>
<p>Your password won't change until you access the link above and create a new one.</p>

如何更改此设置我必须将 url 硬编码为域?因为我们有一个暂存和生产环境。

【问题讨论】:

    标签: ruby-on-rails devise


    【解决方案1】:

    Here我刚刚给出了一个关于在一般生产环境中发送电子邮件的快速回答。

    在您的特定情况下,您正在寻找将以下代码放入production.rb

    config.action_mailer.default_url_options = { :host =&gt; 'YOUR-APP-NAME.herokuapp.com', :protocol =&gt; 'https' }

    如果您有多个环境,则分别配置每个环境,对吗?因此,对于暂存,您将拥有类似 config/environments/staging.rb 的内容并在那里进行配置。

    More details on action mailer

    【讨论】:

      猜你喜欢
      • 2011-09-02
      • 2013-08-19
      • 1970-01-01
      • 1970-01-01
      • 2019-07-04
      • 1970-01-01
      • 2016-05-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多