gpt4 book ai didi

ruby-on-rails - 设置用于在 Rails 中发送邮件的 SMTP 设置

转载 作者:行者123 更新时间:2023-12-04 18:08:29 25 4
gpt4 key购买 nike

我关注了 following tutorial创建联系表。

一切正常,但正如教程所述要真正发送电子邮件,您应该在环境设置中设置 SMTP。我如何设置 SMTP?

按照 this 中的建议我创建并编辑了 smtp_settings.rb 的链接;但是一点运气都没有。它仍然不会将电子邮件发送给真实用户。

smtp_settings.rb

if Rails.env.production?
Gitlab::Application.config.action_mailer.delivery_method = :smtp

ActionMailer::Base.smtp_settings = {
address: "smtp.gmail.com",
port: 587,
user_name: "myaccount@gmail.com",
password: "abcpassword",
domain: "mail.google.com",
authentication: :login,
enable_starttls_auto: true
}
end

最佳答案

这可能是因为 Rails 未找到您的 smtp_settings.rb 文件,或者未识别 delivery_method 行。

尝试将文件移动到 /config/initializers/smtp_settings.rb(如果它不存在),并将内容稍微更改为

if Rails.env.production?  ActionMailer::Base.delivery_method = :smtp  ActionMailer::Base.smtp_settings = {    address:              "smtp.gmail.com",    port:                 587,    user_name:            "myaccount@gmail.com",    password:             "abcpassword",    domain:               "mail.google.com",    authentication:       :login,    enable_starttls_auto: true  }end

也可能是这些设置仅适用于生产,如果您在本地开发中尝试此操作,则需要删除第一行if Rails... 和最后一行 end 像这样..

ActionMailer::Base.delivery_method = :smtpActionMailer::Base.smtp_settings = {  address:              "smtp.gmail.com",  port:                 587,  user_name:            "myaccount@gmail.com",  password:             "abcpassword",  domain:               "mail.google.com",  authentication:       :login,  enable_starttls_auto: true}

对该文件进行任何更改后,您需要重新启动 Rails 服务器或 Rails 控制台 session 以使更改生效。

关于ruby-on-rails - 设置用于在 Rails 中发送邮件的 SMTP 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20317151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com