Я отправляю электронное письмо из своего приложения Rails. Он хорошо работает в среде разработки, но не работает при постановке. Я получаю следующую ошибку:
Net::SMTPAuthenticationError (534-5.7.14 <https://accounts.google.com/ContinueSignIn?plt=AKgnsbtdF0yjrQccTO2D_6)
Обратите внимание, что у меня нет доменного имени для моей постановки.
Вот мои настройки в staging.rb
config.action_mailer.delivery_method = :smtp
config.action_mailer.default_url_options = { :host => "my.ip.addr.here:80" }
config.action_mailer.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:domain => 'my.ip.addr.here:80'
:user_name => "my_email_name@gmail.com",
:password => "my_email_password",
:authentication => 'login'
}
Пожалуйста помоги.
Редактировать.
После добавления :tls => true
опции я получаю
OpenSSL::SSL::SSLError (Unrecognized SSL message, plaintext connection?)
Затем я изменил порт на 25, и теперь я получаю это (с задержкой 30 секунд):
Timeout::Error (execution expired)
Ответы:
У меня была та же проблема: электронные письма отправлялись из разработки, но не из производства (откуда я получал
Net::SMTPAuthenticationError
). Это привело меня к выводу, что проблема была не в конфигурации моего приложения, а в Google.Причина : Google блокировал доступ из неизвестного местоположения (приложение находится в разработке)
Решение : перейдите на страницу http://www.google.com/accounts/DisplayUnlockCaptcha и нажмите «Продолжить» (это предоставит доступ на 10 минут для регистрации новых приложений). После этого мое работающее приложение начало отправлять электронные письма;)
источник
lesssecureapps
настройки, используя многофакторную аутентификацию и включив пароль приложения для моего сервера rails.Net::SMTPAuthenticationError ...ContinueSignIn...
. Затем я попытался сделать то же самое через 10 минут, и все заработало.Это решение работает для меня:
Это правда, что Google заблокирует вашу попытку входа, но вы можете изменить свои настройки на странице https://www.google.com/settings/security/lesssecureapps, чтобы ваша учетная запись больше не была защищена современными стандартами безопасности.
источник
Решено! Я просто сменил пароль для своей учетной записи Gmail, и ошибки как-то исчезли.
После десятка изменений я получил следующие окончательные настройки:
источник
перейдите по следующей ссылке и включите https://www.google.com/settings/security/lesssecureapps
источник
Вышеупомянутое решение предоставило правильные настройки (которые у меня уже были), но не решило проблему. После продолжающихся попыток я продолжал получать ту же ошибку. Оказывается, мне пришлось «очистить CAPTCHA» из Интернета. Подробности см. В документации Gmail.
Вы также можете перейти прямо к странице «Очистить CAPTCHA» здесь .
источник
Намного позже, но на всякий случай это кому-то поможет ... Просто позвонили в Справочный центр Google Apps, и они проинструктировали изменить параметр lesssecureapps (как и все), а также изменить порт на 465.
В моем случае это помогло!
источник
У меня такая же проблема.
Решение:
Вы можете включить
less secure apps
опцию ( здесь ).https://myaccount.google.com/lesssecureapps
И разблокировать Captcha ( ссылка ):
https://accounts.google.com/DisplayUnlockCaptcha
источник
Здравствуйте, это тоже сработало для меня, поэтому, если у кого-то все еще есть проблема, попробуйте это.
Убедитесь, что в вашем гем-файле есть фигаро. Для сохранения конфиденциальной информации, такой как имя пользователя и пароль, в качестве переменных среды
И в вашем config / environment / development.rb вставьте приведенные ниже коды, используя smtp в качестве метода доставки.
Настройки SMTP для Gmail
В каталоге конфигурации создайте файл с именем application.yml и добавьте приведенные ниже коды.
Вы должны использовать свой адрес электронной почты и пароль для аутентификации в файле.
источник
Я также столкнулся с проблемой и после некоторого исследования настроек Gmail нашел решение:
В gmail зайдите в настройки.
Выберите вкладку «Пересылка и POP / IMAP».
В разделе доступа IMAP выберите «Включить IMAP».
источник
Принятый ответ кажется очень старым, я не знаю, существовало ли в то время следующее (лучшее) решение:
config.action_mailer.smtp_settings
Теперь отправка писем работает отлично!
источник
Чтобы решить эту проблему:
Если вы видите: Net :: SMTPAuthenticationError (535-5.7.8 Имя пользователя и пароль не принимаются) , то вам необходимо разрешить менее безопасным приложениям входить в вашу учетную запись Google. Чтобы включить вход в менее безопасные приложения, выполните следующие действия: https://myaccount.google.com/lesssecureapps? . Но позволит всем приложениям войти в систему. Если вы хотите настроить его, обратитесь: https://support.google.com/a/answer/6260879?hl=en
Тогда, возможно, вы получите Net :: SMTPAuthenticationError (534-5.7.14) , поэтому для решения этой проблемы обратитесь: pli = 1http: //www.google.com/accounts/DisplayUnlockCaptcha. После этого нажмите «Продолжить» со страницы, на которую вы будете перенаправлены. Он проверит вашу Captcha, и ваше приложение будет проверено на использование вашей учетной записи Google для отправки электронных писем.
ПРИМЕЧАНИЕ. Убедитесь, что вы используете правильные учетные данные своей учетной записи Gmail.
Если вы не хотите разрешать использование всех приложений, перейдите по ссылке : https://support.google.com/a/answer/6260879?hl=ru . По ссылке перейдите к Использовать альтернативы менее безопасным приложениям , это подскажет вам альтернативный способ Разрешить менее безопасным приложениям доступ к вашей учетной записи Google.
источник
У меня была такая же проблема, и после некоторых проб и ошибок я пришел к этому разрешению, которое можно включить в Google:
Нажмите https://www.google.com/settings/u/0/security/lesssecureapps.
Включите здесь «Доступ для менее безопасных приложений», войдя в систему с адресом электронной почты, который вы указали в конфигурации smtp.
источник