我正在尝试调试rails如何发送电子邮件。目前它对我不起作用:))
但是我在配置中的哪个地方更改了我要发送的SMTP?我如何设置它以便在dev / stage / live上使用它发送的服务器的相应SMTP配置?
谢谢, 亚历
ps - 我最初使用本教程进行设置:http://guides.rubyonrails.org/action_mailer_basics.html
答案 0 :(得分:3)
示例假设您使用邮件服务器MAIL.YOUR-DOMAIN.COM
Action Mailer现在使用Mail gem - 您可能需要在./config/environments/env.rb文件中使用这样的内容:
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => "MAIL.YOUR-DOMAIN.COM",
:port => 587,
:domain => 'YOUR-DOMAIN.COM',
:user_name => '<username>',
:password => '<password>',
:authentication => 'plain',
:enable_starttls_auto => true }
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
另见:http://edgeguides.rubyonrails.org/action_mailer_basics.html
另一种方法是将以下内容放入./config/initializers/setup_mail.rb中:
ActionMailer::Base.smtp_settings = {
:address => "MAIL.YOUR-DOMAIN.COM",
:port => 587,
:domain => "YOUR-DOMAIN.COM",
:user_name => "<username>"
:password => "<password>"
:authentication => "plain",
:enable_starttls_auto => true
}
e.g。如果您想使用Gmail的SMTP服务器通过Gmail帐户发送电子邮件,则上述代码有效。 其他SMTP服务器可能需要其他值:authentication和:enable_starttls_auto 取决于SMTP服务器设置