Net:: SMTPAuthenticationError podczas wysyłania wiadomości e-mail z aplikacji Rails (w środowisku staging)

Wysyłam e-maila z mojej aplikacji Rails. Działa dobrze na środowisku programistycznym, ale nie działa na stagingu. Dostaję następujący błąd:

Net::SMTPAuthenticationError (534-5.7.14 <https://accounts.google.com/ContinueSignIn?plt=AKgnsbtdF0yjrQccTO2D_6)

Uwaga, że nie mam nazwy domeny dla mojej inscenizacji.

Oto moje ustawienia w stagingu.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 => "[email protected]",
      :password => "my_email_password",
      :authentication => 'login'
}
Proszę, pomóż.

Edycja.

Po dodaniu opcji :tls => true otrzymuję

OpenSSL::SSL::SSLError (Unrecognized SSL message, plaintext connection?)

A potem zmieniłem port na 25 i teraz dostaję to (z 30 sekundowym opóźnieniem):

Timeout::Error (execution expired)
Author: eagor, 2013-08-08

11 answers

Miałem ten sam problem: e-maile były wysyłane z developmentu, ale nie z produkcji (skąd otrzymywałem Net::SMTPAuthenticationError). To doprowadziło mnie do wniosku, że problem nie był z konfiguracją mojej aplikacji, ale z Google.

Powód: Google blokuje dostęp z nieznanej lokalizacji (aplikacja w produkcji)

Rozwiązanie : przejdź do http://www.google.com/accounts/DisplayUnlockCaptcha i kliknij Kontynuuj (zapewni to dostęp na 10 minut do rejestracji nowych aplikacje). Po tym moja aplikacja w produkcji zaczęła wysyłać e-maile ;)

 222
Author: Gee-Bee,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-05-16 19:47:43

To rozwiązanie działa dla mnie:

config.action_mailer.delivery_method = :smtp
  config.action_mailer.default_url_options = { host:'localhost', port: '3000' }
  config.action_mailer.perform_deliveries = true
  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.default :charset => "utf-8"
  config.action_mailer.smtp_settings = {
      :address => "smtp.gmail.com",
      :port => 587,
      :domain => 'localhost:3000',
      :user_name => "[email protected]",
      :password => "password",
      :authentication => :plain,
      :enable_starttls_auto => true
  }

To prawda, że Google zablokuje Twoją próbę logowania, ale Możesz zmienić ustawienia w https://www.google.com/settings/security/lesssecureapps aby Twoje konto nie było już chronione przez nowoczesne standardy bezpieczeństwa.

 23
Author: A H K,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-13 19:41:41

Rozwiązane! Po prostu zmieniłem hasło dla mojego konta gmail i jakoś błędy zniknęły.

Po kilkunastu zmianach, ostateczne ustawienia, z którymi skończyłem, to:

config.action_mailer.delivery_method = :smtp
config.action_mailer.default_url_options = { :host => "my.ip.addr.here" }
config.action_mailer.smtp_settings = {
      :address => "smtp.gmail.com",
      :port => 587,
      :domain => 'my.ip.addr.here:80',
      :user_name => "[email protected]",
      :password => "my_email_password",
      :authentication => :plain,
      :enable_starttls_auto => true
}
 22
Author: eagor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-08 15:22:41

Przejdź do poniższego linku i włącz https://www.google.com/settings/security/lesssecureapps

 14
Author: aashish,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-27 08:53:24

Powyższe rozwiązanie zapewniało poprawne ustawienia (które już miałem), ale nie rozwiązało problemu. Po ciągłych próbach ciągle otrzymywałem ten sam błąd. Okazało się, że musiałem "wyczyścić CAPTCHA" z sieci. Więcej informacji można znaleźć w dokumentacji Gmaila .

Możesz również przejść bezpośrednio do strony "Wyczyść CAPTCHA" tutaj .

 13
Author: Sorry-Im-a-N00b,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-17 13:04:20

Dużo później, ale na wszelki wypadek, gdyby komuś to pomogło.. Właśnie zadzwoniłem do Centrum pomocy Google Apps i polecili zmienić ustawienie lesssecureapps (jak wszyscy inni), ale także zmienić port na 465.

W moim przypadku udało się!

 2
Author: Alejandro Sherwell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-02 16:04:15

Ja również stanąłem przed problemem i po kilku badaniach w ustawieniach Gmaila znalazłem rozwiązanie:

  1. W Gmailu przejdź do ustawień.

  2. Wybierz zakładkę "przekazywanie i POP / IMAP".

  3. W sekcji dostęp IMAP wybierz opcję Włącz IMAP.

 1
Author: Shrinivas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-05 11:04:21

Witam to również zadziałało dla mnie i jeśli ktoś nadal ma problem, wypróbuj to.

Upewnij się, że masz figaro w swoim gemfile. Aby zapisać poufne informacje, takie jak nazwa użytkownika i hasło jako zmienne środowiskowe

gem 'figaro'

Oraz w Twoim config / environments / development.rb, wklej poniższe kody używanie smtp jako metody dostarczania

 config.action_mailer.delivery_method = :smtp

Ustawienia SMTP dla Gmaila

  config.action_mailer.smtp_settings =
  {
    :address=> "smtp.gmail.com",
    :port => 587,
    :user_name => ENV['gmail_username'],
    :password=> ENV['gmail_password'],
    :authentication=> "plain",
    :enable_starttls_auto=>true
  }


config.action_mailer.default_url_options = { host: "locahost:3000" }

W katalogu config Utwórz plik o nazwie application.yml i dodaj kody poniżej.

gmail_username: '[email protected]' 
gmail_password: "your_example_email_password_here"

Musisz użyć swojego adresu e-mail i hasła do uwierzytelniania w pliku.

 0
Author: cooxy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-08 18:14:06

Miałem ten sam problem.

Możesz włączyć less secure apps opcja (tutaj).
https://myaccount.google.com/lesssecureapps

I odblokuj Captcha (link):
https://accounts.google.com/DisplayUnlockCaptcha

 0
Author: Benyamin Jafari,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-16 05:53:45

Przyjęta odpowiedź wydaje się bardzo stara, Nie wiem, czy w tym czasie istniało następujące (lepsze) rozwiązanie:

Teraz, wysyłanie e-maili działa doskonale!

 0
Author: ubugnu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-11 15:08:22

Miałem ten sam problem i po kilku próbach i błędach doszedłem do tego rozwiązania, które jest opcją włączoną w google:

Kliknij https://www.google.com/settings/u/0/security/lesssecureapps

Włącz tutaj "Dostęp dla mniej bezpiecznych aplikacji", logując się za pomocą adresu e-mail podanego w konfiguracji smtp.

 -1
Author: mirza vu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-22 07:12:22