Второй подход к отсылке писем из Rails приложения. Первый окончился неудачей полгода назад.
smtp, yandex...config/environments.rb:config.action_mailer.raise_delivery_errors = true
Это позволило выводить сообщения об ошибках отправки писем в браузер
ActionMailer::Base.smtp_settings = {
:enable_starttls_auto => true,
address:"smtp.yandex.ru",
port: 587,
domain: "127.0.0.1",
authentication: "plain",
user_name: "myemail@yandex.ru",
password: "неверный пароль"
}
535 5.7.8 Error: authentication failed: Invalid user or password!
Вразумительно отвечает, что пароль неверный
Даем правильный пароль:
ActionMailer::Base.smtp_settings = {
:enable_starttls_auto => true,
address:"smtp.yandex.ru",
port: 587,
domain: "127.0.0.1",
authentication: "plain",
user_name: "myemail@yandex.ru",
password: "верный пароль"
}
554 5.7.1 Message rejected under suspicion of SPAM
Письмо видит, думает, что это спам
Возможно это из-за TLS. Пробуем играть параметрами:
config/initializers/mail.rb:ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
:enable_starttls_auto => false,
:tls => false,
address:"smtp.yandex.ru",
port: 587,
domain: "127.0.0.1",
authentication: "plain",
user_name: "myemail@yandex.ru",
password: "верный пароль"
}
530 5.7.7 Email sending without SSL/TLS encryption is not allowed. Please see: help.yandex.ru/mail/mail-clients/ssl.xml
Без TLS не хочет связываться вообще
config/initializers/mail.rb:ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
:enable_starttls_auto => false,
:tls => true,
address:"smtp.yandex.ru",
port: 587,
domain: "127.0.0.1",
authentication: "plain",
user_name: "myemail@yandex.ru",
password: "верный пароль"
}
либо:
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
:enable_starttls_auto => true,
:tls => true,
address:"smtp.yandex.ru",
port: 587,
domain: "127.0.0.1",
authentication: "plain",
user_name: "myemail@yandex.ru",
password: "верный пароль"
}
SSL_connect returned=1 errno=0 state=SSLv2/v3 read server hello A: unknown protocol
Далее пробовал читать и делать как написано здесь:
https://gist.github.com/fnichol/867550.
Все тоже самое.
Думал, что возможно сам почтовый ящик каким либо образом нужно настроить. Нет:
Пробовал Мозиллу тундраберд - она срабатывает хорошо. Т.е. с почтой как таковой - все в порядке.
А ведь у людей получается, например у Рената Ибрагимова:
vk.com/topic-31022447_30379827
Как быть? У кого получилось?
Пока писал этот пост я сам догадался))):
ActionMailer::Base.smtp_settings = {
:enable_starttls_auto => true,
# :openssl_verify_mode => 'none',
# :tls => true,
address:"smtp.yandex.ru",
port: 587,
domain: "127.0.0.1:3000",
authentication: "plain",
user_name: "myemail@yandex.ru",
password: "верный пароль"
}
Письмо наконец то пришло
Нужно было прописать порт!
Решил все же выложить пост. Может кому пригодится)