在 Production.rb 的 ActionMailer 中使用 { host: 'localhost', port: 3000 } 部署到 VPS?

Using { host: 'localhost', port: 3000 } in ActionMailer in Production.rb for deployment to VPS?

这是我第一次在生产环境中使用 actionmailer。

之前我将应用程序部署到 VPS 服务器。我还没有给它分配域,所以它只是一个 IP 地址。

我配置了操作邮件程序设置,但我对这一行感到好奇: config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }我可以使用服务器的 IP 地址而不是 { host: 'localhost', port: 3000 }或者在使用此设置部署应用程序后服务器是否充当本地主机?

这里是 production.rb

中的设置代码
config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
  address: ENV["SMTP_ADDRESS"],
  user_name: ENV["SMTP_USER"],
  password: ENV["SMTP_PASSWORD"],
  domain: "gmail.com",
  port: 587,
  authentication: :login,
  enable_starttls_auto: true
}
config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }

配置完成后,您可以使用这些设置通过 gmail 服务器发送邮件。默认的 url 将被用作 website/application 的域名,如忘记密码给用户。

  http://localhost:3000/forgot_password?email="fd@ds.com"

您应该将其更改为托管应用程序代码的域名或 ip。 localhost 仅用于开发设置。