配置production.rb文件以使用Rails 4发送电子邮件

时间:2016-05-24 18:49:02

标签: ruby-on-rails devise actionmailer

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

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

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服务器?

1 个答案:

答案 0 :(得分:2)

1)host是一个变量,用于在电子邮件中生成指向您网站的链接(请参阅注释) 2)域名是电子邮件的发送域名,如果您拥有自己的域名,则可以将域名放在那里 3)用户名和密码是您的Gmail帐户(或您发送邮件的帐户)的凭据。如果您设置了自己的smtp中继服务器,则可以使用该信息。

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