在 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 仅用于开发设置。
这是我第一次在生产环境中使用 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 仅用于开发设置。