【问题标题】:Setup SMTP settings for sending mail in rails设置 SMTP 设置以在 rails 中发送邮件
【发布时间】:2013-12-17 12:04:38
【问题描述】:

我已经按照following tutorial 创建了一个联系表单。

一切都很好,但正如教程所说 For real e-mail delivery, you should set up SMTP in the environment settings. 我如何设置 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

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4


    【解决方案1】:

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

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

    如果 Rails.env.production? ActionMailer::Base.delivery_method = :smtp ActionMailer::Base.smtp_settings = { 地址:“smtp.gmail.com”, 端口:587, 用户名:“myaccount@gmail.com”, 密码:“abcpassword”, 域:“mail.google.com”, 身份验证::登录, enable_starttls_auto:真 } 结尾

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

    ActionMailer::Base.delivery_method = :smtp ActionMailer::Base.smtp_settings = { 地址:“smtp.gmail.com”, 端口:587, 用户名:“myaccount@gmail.com”, 密码:“abcpassword”, 域:“mail.google.com”, 身份验证::登录, enable_starttls_auto:真 }

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-14
      • 2020-09-08
      • 2011-12-14
      • 2018-01-24
      • 2011-07-30
      • 1970-01-01
      相关资源
      最近更新 更多