我有一个带有设计的 rails 应用程序,但通过电子邮件确认将我发送到俄语网页
I have a rails app with devise but con confimations through email sends me to a russian webpage
我的 rails 应用配置了 Mandrill API 并设计
例如:我想通过我的应用程序发送给我的电子邮件来确认我的用户。当我单击 link 时,它会将我转到俄语网页 http://sistema.com/domashnjaja-stranica/
这是怎么回事???
我认为有两种可能:您正在使用的 API 键可能其他人也在使用,或者您的 production.rb 或 application.rb 中的设置有误.
当您设置 mandrill 时,您可能勾选了打开率和点击跟踪分析选项,这使得您电子邮件中的所有 URL 都被 mandrill url 包裹(mandrillapp .com/etc...)。您可以在您发布的 url 中看到它正在这样做。我会首先检查仪表板中的所有山魈设置,看看还设置了哪些其他选项,例如默认主机等。考虑到这一点,这里还有一些其他要检查的事项:
production.rb / application.rb 检查
在您的环境文件夹中,检查 production.rb 和 application.rb 中的以下行:
config.action_mailer.default_url_options = { :host => ENV["DOMAIN_NAME"] }
具体来说,你应该看看那里是否设置了不同的主机(如果你像我一样通过环境变量加载变量,一定要检查你的.env文件)。
Mandrill API 键被另一个开发者使用
其他开发人员可能 窃取了 您的 API 凭据以用于他们的应用程序。这可能是因为您的私钥和 public 密钥在您的代码中都可用 public 可以通过您的网站查看,或者,如果您将 public 和私钥都推送到Github 或 Bitbucket 上的开放存储库(例如,它们未添加到 .gitignore)。
如果 Mandrill 在创建 API 密钥时的验证过程不是很好,它可能生成了一个已停用或已被其他客户使用的 API 密钥。然而,我非常怀疑这一点,因为您会假设不仅它们生成的密钥具有较低的冲突率,而且它们还会确保它们在创建时是唯一的,并且不会被使用,即使该帐户已被删除已删除。
如果您在应用程序中输入了错误的 API 密钥,您输入另一个用户的另一个有效 API 密钥的可能性非常小。
解决此问题的最简单方法是停用旧 API 密钥,然后生成新密钥。我还会更改 mandrill 帐户的密码,以防它被泄露。然后我会检查我的 mandril 设置,以确保没有为 URL.
设置任何 url
我的 rails 应用配置了 Mandrill API 并设计
例如:我想通过我的应用程序发送给我的电子邮件来确认我的用户。当我单击 link 时,它会将我转到俄语网页 http://sistema.com/domashnjaja-stranica/
这是怎么回事???
我认为有两种可能:您正在使用的 API 键可能其他人也在使用,或者您的 production.rb 或 application.rb 中的设置有误.
当您设置 mandrill 时,您可能勾选了打开率和点击跟踪分析选项,这使得您电子邮件中的所有 URL 都被 mandrill url 包裹(mandrillapp .com/etc...)。您可以在您发布的 url 中看到它正在这样做。我会首先检查仪表板中的所有山魈设置,看看还设置了哪些其他选项,例如默认主机等。考虑到这一点,这里还有一些其他要检查的事项:
production.rb / application.rb 检查
在您的环境文件夹中,检查 production.rb 和 application.rb 中的以下行:
config.action_mailer.default_url_options = { :host => ENV["DOMAIN_NAME"] }
具体来说,你应该看看那里是否设置了不同的主机(如果你像我一样通过环境变量加载变量,一定要检查你的.env文件)。
Mandrill API 键被另一个开发者使用
其他开发人员可能 窃取了 您的 API 凭据以用于他们的应用程序。这可能是因为您的私钥和 public 密钥在您的代码中都可用 public 可以通过您的网站查看,或者,如果您将 public 和私钥都推送到Github 或 Bitbucket 上的开放存储库(例如,它们未添加到 .gitignore)。
如果 Mandrill 在创建 API 密钥时的验证过程不是很好,它可能生成了一个已停用或已被其他客户使用的 API 密钥。然而,我非常怀疑这一点,因为您会假设不仅它们生成的密钥具有较低的冲突率,而且它们还会确保它们在创建时是唯一的,并且不会被使用,即使该帐户已被删除已删除。
如果您在应用程序中输入了错误的 API 密钥,您输入另一个用户的另一个有效 API 密钥的可能性非常小。
解决此问题的最简单方法是停用旧 API 密钥,然后生成新密钥。我还会更改 mandrill 帐户的密码,以防它被泄露。然后我会检查我的 mandril 设置,以确保没有为 URL.
设置任何 url