Wysyłam e-mail z mojej aplikacji Railsowej. Działa dobrze w środowisku programistycznym, ale nie działa w przemieszczaniu. Otrzymuję następujący błąd:
Net::SMTPAuthenticationError (534-5.7.14 <https://accounts.google.com/ContinueSignIn?plt=AKgnsbtdF0yjrQccTO2D_6)
Zwróć uwagę, że moja nie mam nazwy domeny dla mojej przejściówki.
Oto moje ustawienia w 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 => "[email protected]",
:password => "my_email_password",
:authentication => 'login'
}
Proszę pomóż.
Edytować.
Po dodaniu :tls => true
opcji otrzymuję
OpenSSL::SSL::SSLError (Unrecognized SSL message, plaintext connection?)
A potem zmieniłem port na 25 i teraz mam to (z 30-sekundowym opóźnieniem):
Timeout::Error (execution expired)
Odpowiedzi:
Miałem ten sam problem: e-maile były wysyłane z dewelopera, ale nie z produkcji (skąd dostawałem
Net::SMTPAuthenticationError
). To doprowadziło mnie do wniosku, że problem nie dotyczył konfiguracji mojej aplikacji, ale Google.Powód : Google blokował dostęp z nieznanej lokalizacji (aplikacja w produkcji)
Rozwiązanie : przejdź do http://www.google.com/accounts/DisplayUnlockCaptcha i kliknij Kontynuuj (umożliwi to 10 minut dostępu do rejestracji nowych aplikacji). Po tym moja aplikacja w produkcji zaczęła wysyłać e-maile;)
źródło
lesssecureapps
ustawienia, używając uwierzytelniania wieloskładnikowego i włączając hasło specyficzne dla aplikacji dla mojego serwera Rails.Net::SMTPAuthenticationError ...ContinueSignIn...
. Potem spróbowałem zrobić to samo po 10 minutach i zaczęło działać.To rozwiązanie działa dla mnie:
To prawda, że Google zablokuje Twoją próbę logowania, ale możesz zmienić ustawienia na https://www.google.com/settings/security/lesssecureapps , aby Twoje konto nie było już chronione przez nowoczesne standardy bezpieczeństwa.
źródło
Rozwiązany! Po prostu zmieniłem hasło do mojego konta Gmail i jakoś zniknęły błędy.
Po kilkunastu zmianach ostateczne ustawienia, z którymi się skończyłem, to:
źródło
przejdź do poniższego linku i włącz https://www.google.com/settings/security/lesssecureapps
źródło
Powyższe rozwiązanie zapewniło prawidłowe ustawienia (które już miałem), ale nie rozwiązało problemu. Po kolejnych próbach wciąż otrzymywałem ten sam błąd. Okazało się, że musiałem „wyczyścić CAPTCHA” z sieci. Więcej informacji znajdziesz w dokumentacji Gmaila .
Możesz także przejść bezpośrednio do strony „wyczyść CAPTCHA” tutaj .
źródło
Dużo później, ale na wszelki wypadek, gdyby to komukolwiek pomogło ... Zadzwoniłem do Centrum pomocy Google Apps i poinstruowano, aby zmienić ustawienie lesssecureapps (tak jak wszyscy), ale także zmienić port na 465.
W moim przypadku to załatwiło sprawę!
źródło
Miałem ten sam problem.
Rozwiązanie:
Możesz włączyć
less secure apps
opcję ( tutaj ).https://myaccount.google.com/lesssecureapps
I odblokuj Captcha ( link ):
https://accounts.google.com/DisplayUnlockCaptcha
źródło
Witam, to też działało dla mnie, więc jeśli ktoś nadal ma problem, wypróbuj to.
Upewnij się, że masz figaro w swoim pliku gem. Aby zapisać poufne informacje, takie jak nazwa użytkownika i hasło, jako zmienne środowiskowe
A w pliku config / environment / development.rb wklej poniższe kody, używając smtp jako metody dostarczania
Ustawienia SMTP dla Gmaila
W katalogu konfiguracyjnym utwórz plik o nazwie application.yml i dodaj poniższe kody.
Musisz użyć swojego adresu e-mail i hasła do uwierzytelnienia w pliku.
źródło
Zmierzyłem się też z problemem i po kilku badaniach w ustawieniach Gmaila znalazłem rozwiązanie:
W Gmailu przejdź do ustawień.
Wybierz kartę „Przekazywanie i POP / IMAP”.
W sekcji Dostęp IMAP wybierz „Włącz IMAP”.
źródło
Przyjęta odpowiedź wydaje się bardzo stara, nie wiem, czy w tamtym czasie istniało następujące (lepsze) rozwiązanie:
config.action_mailer.smtp_settings
Teraz wysyłanie e-maili działa doskonale!
źródło
Aby rozwiązać ten problem:
Jeśli zobaczysz: Net :: SMTPAuthenticationError (535-5.7.8 Nazwa użytkownika i hasło nie zostały zaakceptowane) , musisz zezwolić mniej bezpiecznym aplikacjom na logowanie się do Twojego konta Google. Aby włączyć mniej bezpieczne logowanie do aplikacji, wykonaj: https://myaccount.google.com/lesssecureapps? . Ale pozwoli wszystkim aplikacjom na logowanie. Jeśli chcesz go dostosować, zobacz: https://support.google.com/a/answer/6260879?hl=en
Wtedy może być możliwe, że otrzymasz Net :: SMTPAuthenticationError (534-5.7.14) , więc aby rozwiązać ten problem: pli = 1http: //www.google.com/accounts/DisplayUnlockCaptcha. Następnie kliknij kontynuuj na stronie, na którą zostaniesz przekierowany. Zweryfikuje Twój Captcha, a Twoja aplikacja zostanie zweryfikowana, aby używać Twojego konta Google do wysyłania e-maili.
UWAGA: upewnij się, że używasz poprawnych danych logowania do konta Gmail.
Jeśli nie chcesz zezwalać na wszystkie aplikacje, odwiedź: https://support.google.com/a/answer/6260879?hl=en . Z linku przejdź do Użyj alternatyw dla mniej bezpiecznych aplikacji , to poprowadzi Cię do alternatywnego sposobu Zezwalania mniej bezpiecznym aplikacjom na dostęp do Twojego konta Google.
źródło
Miałem ten sam problem i po kilku próbach i błędach doszedłem do takiego rozwiązania, które jest opcją do włączenia w google:
Kliknij https://www.google.com/settings/u/0/security/lesssecureapps
Włącz tutaj „Dostęp do mniej bezpiecznych aplikacji”, logując się za pomocą adresu e-mail podanego w konfiguracji smtp.
źródło