【问题标题】:Deploying rails app to heroku, sendgrid email links not viable将rails应用程序部署到heroku,sendgrid电子邮件链接不可行
【发布时间】:2017-07-27 15:03:56
【问题描述】:

我正在学习 Michael Hartl rails 教程,目前正在将网络应用程序推送到 Heroku。 (应用程序在本地服务器中正常运行)

我正在使用 sendgrid 来帮助向用户发送电子邮件以激活帐户。当用户创建帐户时,电子邮件会正确发送并被用户接收。但是重置链接不起作用。

在本地服务器上,电子邮件会生成一个带有 url localhost:3000/ 等的链接...... 效果很好。

但是在 Heroku 部署中,电子邮件中的链接会生成符号“”的 HTML 代码。像这样将 url 包含在其中....

http://<app-1234>.heroku-app.com/ etc...

这不是一个有效的链接。手动删除“”标签会导致激活链接起作用。

我假设 sendgrid 中有一些设置我可以更改以防止将“”标签添加到 url,但我没有运气找到答案。我希望我的问题很清楚?非常感谢!

【问题讨论】:

    标签: ruby-on-rails email heroku sendgrid


    【解决方案1】:

    当它说要进入时

        host = <your heroku app>.herokuapp.com 
    

    在 config/environments/production.rb 文件中,实际上不要放置 符号。只需输入您的应用名称即可。

    你会说:

        host = 'app-1234.herokuapp.com'
    

    【讨论】:

    • 我不敢相信我错过了这个......好吧!非常感谢您的回复,很容易解决。
    • 没问题 :-)
    【解决方案2】:

    假设您有链接@url = "http://&lt;app-1234&gt;.heroku-app.com/users/sign_in"。在下一行中,使用 gsub 方法编辑此 @url,该方法用于修改和替换字符串的字符。执行@url.gsub!("&lt;app-1234&gt;", "app-1234"),然后将新的@url 对象发送给用户。

    【讨论】:

    • 我正准备做一些非常相似的事情。但幸运的是,问题在于我是个白痴。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多