#ruby-on-rails #ruby-on-rails-3 #smtp
#ruby-on-rails #ruby-on-rails-3 #smtp
Вопрос:
Я пытаюсь отладить, как rails отправляет электронную почту. В настоящее время это у меня не работает 🙂
Но где в конфигурациях мне изменить SMTP, с которого я пытаюсь отправить? И как мне настроить это так, чтобы на dev / stage / live он использовал соответствующие конфигурации SMTP сервера, с которого он отправляет?
Спасибо, Алекс
ps — Я изначально настроил это с помощью этого руководства:http://guides.rubyonrails.org/action_mailer_basics.html
Ответ №1:
В примерах предполагается, что вы используете почтовый сервер 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
}
например, приведенный выше код работает, если вы хотите использовать SMTP-сервер Gmail для отправки электронной почты через свою учетную запись Gmail..
Другим SMTP-серверам могут потребоваться другие значения для:аутентификации и:enable_starttls_auto
в зависимости от настройки SMTP-сервера
Комментарии:
1. Спасибо, это очень помогает. Кстати, должен ли я сохранить скобки в ‘<имя пользователя>’?