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.rbconfig.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)
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 ;)
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.
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
}
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
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 .
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ę!
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:
W Gmailu przejdź do ustawień.
Wybierz zakładkę "przekazywanie i POP / IMAP".
W sekcji dostęp IMAP wybierz opcję Włącz IMAP.
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.
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
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:
- Idź do https://myaccount.google.com/u/0/apppasswords
- Wygeneruj nowe hasło dla aplikacji
- Zastąp osobiste hasło wygenerowanym hasłem w
config.action_mailer.smtp_settings
Teraz, wysyłanie e-maili działa doskonale!
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.
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