【发布时间】:2011-05-17 19:46:51
【问题描述】:
我确信这已经被问过一百万次了,但我找不到任何适合我的东西,所以我再问一次!
我只需要一种在 Rails 3 中使用 ActionMailer 发送电子邮件的方法。我已经学习了许多教程,包括关于新 ActionMailer 的 Railscasts 教程,我可以看到正在生成的邮件,但我没有收到它们。
我尝试了很多不同的方法,但它们通常相当于配置以下设置
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => "587",
:domain => "gmail.com",
:user_name => "xxx@gmail.com",
:password => "yyy",
:authentication => "plain",
:enable_starttls_auto => true
}
我已经在我的 config/environment.rb、config/environments/development.rb 中尝试了上面的代码(当然还有有效的 gmail 详细信息),并且目前在它自己的初始化程序 config/initialisers/setup_mail.rb 中有它
我还尝试了一些不同的 smtp 服务器,包括 Gmail 和 Sendgrid,相应地调整了 smtp 设置,但仍然没有。我可以在终端中看到邮件和开发日志,仅此而已。
有没有人知道我可能遗漏的任何其他问题需要设置才能使 ActionMailer 工作?如果做不到这一点,是否有办法获取有关邮件未发送原因的更多信息?我有
config.action_mailer.raise_delivery_errors = true
在我的 config/development.rb 中设置,但开发日志仍然显示与我在终端中看到的相同。
无论如何,我正在一台 Ubuntu 10.04 笔记本电脑上进行开发,以防万一需要任何特定设置。
非常感谢
【问题讨论】:
-
您可以尝试从设置中删除 :domain 或将其更改为其他域。
标签: ruby-on-rails ruby-on-rails-3 actionmailer