【问题标题】:Configuring production.rb file to send emails with Rails 4配置 production.rb 文件以使用 Rails 4 发送电子邮件
【发布时间】:2016-09-22 03:23:54
【问题描述】:

我一直在用 Rails 发送电子邮件。我需要使用 Devise gem 发送密码重置或激活帐户电子邮件。感谢 Devise 内置了电子邮件发送功能。我只需要配置发件人。我用谷歌搜索并找到了很多关于如何做到这一点的教程。以下是我仍然不明白的事情,因为很多教程都没有过多地谈论它们:

任何教程都带有类似的东西:

config.action_mailer.default_url_options = { :host => 'gmail.com' }

config.active_support.deprecation = :notify

config.action_mailer.delivery_method = :smtp
config.action_mailer.raise_delivery_errors = false
config.action_mailer.default :charset => "utf-8"

# SMTP settings 
ActionMailer::Base.smtp_settings = {
    :port           => 587,
    :address        => 'smtp.gmail.com',
    :domain         => 'gmail.com',
    :user_name      => ENV['username'],
    :password       => ENV['password'],
    :authentication => :plain,
}

对我来说不清楚的事情是: 1) 什么是:host,我可以用localhost吗?例如是gmail.com。我需要设置一些gmail服务器吗?

2) 什么是:domain,还是我的站点域?还是只使用gmail.com 就可以了?

3) 什么是user_namepassword

所以一般的问题是我是否需要在我的生产服务器上安装一些邮件服务器等等,本教程的人跳过这部分。谁发送我的电子邮件? Rails 应用服务器?还是单独的 smtp 服务器?

【问题讨论】:

    标签: ruby-on-rails devise actionmailer


    【解决方案1】:

    1) 主机是一个变量,用于在电子邮件中生成指向您网站的链接(见评论)。
    2) 域是电子邮件的发送域,如果您有自己的域,您可以将您的域放在那里。
    3) 用户名​​和密码是您的 gmail 帐户(或您发送邮件的帐户)的凭据。如果您设置了自己的 smtp 中继服务器,则可以使用相关信息。

    这可能仅适用于发送的电子邮件数量极少,如果您打算每月发送超过 100 封电子邮件,则需要寻找专业的服务来发送您的电子邮件。

    【讨论】:

    • host 用于 URL 助手,而不是发送电子邮件...它是用于在您的电子邮件内容中生成链接的主机名 (__host__/path)
    猜你喜欢
    • 2016-06-08
    • 2014-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-02
    • 2011-07-28
    • 1970-01-01
    • 2019-12-02
    相关资源
    最近更新 更多