Błąd Gmaila: serwer SMTP wymaga bezpiecznego połączenia lub klient nie został uwierzytelniony. Odpowiedź serwera: 5.5.1 Wymagane uwierzytelnienie
Używam poniższego kodu, aby wysłać e-mail. Kod działa poprawnie w mojej lokalnej maszynie. Ale na serwerze produkcyjnym dostaję komunikat o błędzie
var fromAddress = new MailAddress("[email protected]");
var fromPassword = "xxxxxx";
var toAddress = new MailAddress("[email protected]");
string subject = "subject";
string body = "body";
System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
};
using (var message = new MailMessage(fromAddress, toAddress)
{
Subject = subject,
Body = body
})
smtp.Send(message);
I na moim Gmailu A / c otrzymałem następujący e-mail po uruchomieniu kodu z serwera produkcyjnego
Cześć,
Ktoś ostatnio użył twojego hasła, aby spróbować zalogować się do Google Konto [email protected]. osoba ta korzystała z aplikacji takiej jako e-mail, Klient lub urządzenie mobilne.
Zapobiegliśmy próbie logowania na wypadek, gdyby to był porywacz próbujący uzyskaj dostęp do swojego konta. Prosimy o zapoznanie się ze szczegółami próby logowania:
Piątek, 3 stycznia 2014 13: 56: 08 UTC adres IP: xxx. xx. xx. xxx (abcd.net.) lokalizacja: Filadelfia PA, Filadelfia, PA, USA
Jeśli nie rozpoznasz tego znaku-w próbie, ktoś inny może być próbuję uzyskać dostęp do Twojego konta. Należy zalogować się na swoje konto i natychmiast zresetuj hasło.
Resetowanie hasła
Jeśli to byłeś Ty i masz problemy z dostępem do swojego konta, wykonaj kroki rozwiązywania problemów wymienione na stronie http://support.google.com/mail?p=client_login
Z poważaniem, Zespół ds. kont Google]}
21 answers
Zazwyczaj dzieje się tak, gdy próbujesz zalogować się z innej strefy czasowej lub komputera z adresem IP. Serwer produkcyjny i identyfikator poczty, którego użyłeś, znajdują się w innej strefie czasowej. Wybierz jedno z rozwiązań:
1) Zaloguj się do serwera produkcyjnego za pomocą zdalnego dostępu i zaloguj się do Gmaila raz za pomocą swoich danych uwierzytelniających. Poprosi o potwierdzenie, Potwierdź i wyloguj się.
Lub 2) Zaloguj się do Gmaila na komputerze lokalnym, kliknij ten link i wybierz przejrzyj ten aktywność i podjąć odpowiednie działania.
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-11 13:50:26
Gdy próbujesz wysłać pocztę z kodu i znajdziesz błąd " serwer SMTP wymaga bezpiecznego połączenia lub klient nie został uwierzytelniony. Odpowiedź serwera brzmiała: 5.5.1 Wymagane uwierzytelnienie", niż błąd może wystąpić z powodu następujących przypadków.
Przypadek 1: gdy hasło jest błędne
Przypadek 2: podczas próby zalogowania się z jakiejś aplikacji
Przypadek 3: gdy próbujesz zalogować się z domeny innej niż twój czas Strefa / domena / komputer (tak jest w większości scenariuszy przy wysyłaniu poczty z kodu)
Istnieje rozwiązanie dla każdego
Rozwiązanie dla Przypadku 1: wprowadź poprawne hasło.
Rozwiązanie 1 dla przypadku 2 : Przejdź do ustawień zabezpieczeń pod linkiem followig https://www.google.com/settings/security/lesssecureapps i włącz mniej bezpieczne aplikacje . Dzięki czemu będziesz mógł zalogować się ze wszystkich aplikacje.
Rozwiązanie 2 dla przypadku 2: (patrz https://stackoverflow.com/a/9572958/52277 ) Włącz uwierzytelnianie dwuetapowe (aka Weryfikacja dwuetapowa), a następnie Wygeneruj hasło specyficzne dla aplikacji. Użyj nowo wygenerowanego hasła do uwierzytelnienia za pomocą SMTP.
Rozwiązanie 1 dla przypadku 3: (może to być pomocne) musisz przejrzeć działanie. ale przeglądanie aktywności nie będzie pomocne ze względu na najnowsze standardy bezpieczeństwa link nie będzie przydatny. Więc wypróbuj poniższy przypadek.
Rozwiązanie 2 dla przypadku 3: Jeśli kod był przechowywany gdzieś na serwerze produkcyjnym i masz dostęp do serwera produkcyjnego, to skorzystaj z połączenia pulpitu zdalnego z serwerem produkcyjnym i spróbuj zalogować się raz z przeglądarki serwera produkcyjnego. Spowoduje to dodanie excpetioon do logowania do google i będziesz mógł zalogować się z kodu.
ale co, jeśli nie masz dostępu do serwera produkcyjnego. wypróbuj Rozwiązanie 3
rozwiązanie 3 dla przypadku 3: Musisz włączyć logowanie z innej strefy czasowej / ip dla swojego konta google.
Aby to zrobić kliknij link https://g.co/allowaccess i zezwól na dostęp, klikając przycisk Kontynuuj.
I tyle. Proszę. Teraz będziesz mógł zalogować się z dowolnego komputera i za pomocą dowolnej aplikacji na swoje konto google.
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-05-23 12:02:56
Jest to problem bezpieczeństwa, Gmail domyślnie uniemożliwia dostęp do konta e-mail z niestandardowych aplikacji. Możesz skonfigurować go tak, aby akceptował login z Twojej aplikacji.
Po zalogowaniu się na swój e-mail, Kliknij tutaj
To przeniesie Cię do następnej strony
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-05-04 09:57:35
Po spędzeniu kilku godzin na próbowaniu każdego rozwiązania tutaj, nadal nie byłem w stanie ominąć tego dokładnego błędu. Używałem Gmaila wiele razy w ten sposób, więc wiedziałem, że to coś głupiego, ale nic nie naprawiłem problemu. W końcu natknąłem się na rozwiązanie w moim przypadku, więc pomyślałem, że się podzielę.
Po pierwsze, większość powyższych odpowiedzi jest również wymagana, ale w moim przypadku była to prosta kwestia uporządkowania kodu podczas tworzenia klasy SmtpClient.
W tym pierwszy fragment kodu poniżej, zwróć uwagę, gdzie znajduje się linia "Credits = creds". Ta implementacja wygeneruje błąd, o którym mowa w tym pytaniu, nawet jeśli Wszystko inne zostało poprawnie skonfigurowane.
System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient
{
Host = Emailer.Host,
Port = Emailer.Port,
Credentials = creds,
EnableSsl = Emailer.RequireSSL,
UseDefaultCredentials = false,
DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network
}
Jeśli jednak przeniesiesz wywołanie Settera poświadczeń na dół, wiadomość e-mail zostanie wysłana bez błędu. Nie dokonałem żadnych zmian w otaczającym kodzie ... czyli ... nazwa użytkownika/hasło itp. Oczywiście, albo EnableSSL, UseDefaultCredentials, albo DeliveryMethod zależy od poświadczenia są ustalane jako pierwsze....Nie testowałem wszystkich, aby dowiedzieć się, który to był.
System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient
{
Host = Emailer.Host,
Port = Emailer.Port,
EnableSsl = Emailer.RequireSSL,
UseDefaultCredentials = false,
DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network,
Credentials = creds
}
Mam nadzieję, że to pomoże uratować kogoś innego kilka bólów głowy w przyszłości.
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-12-11 20:54:25
Witam mam ten sam problem,
Co zrobiłem, aby to rozwiązać. jest włączenie mniej bezpiecznej aplikacji. po połączeniu się z moim kontem gmail. Wpisałem ten link: https://www.google.com/settings/security/lesssecureapps
Potem włączam bezpieczną aplikację i, i działa. zostało powiedziane również powyżej
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-03-05 13:18:00
Po prostu wykonaj krok w e-mailu google i włącz mniej bezpieczne aplikacje.
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-29 21:18:58
Miałem ten sam problem. Dzieje się tak po włączeniu weryfikacji dwuetapowej (MFA). Wystarczy wyłączyć weryfikację dwuetapową, a problem powinien zostać rozwiązany.
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-07-31 16:43:39
Poniżej znajduje się mój kod.Miałem również ten sam błąd, ale problem polegał na tym, że źle podałem hasło.Poniższy kod będzie działał idealnie..try it
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
mail.From = new MailAddress("[email protected]");
mail.To.Add("[email protected]");
mail.To.Add("[email protected]");
mail.Subject = "Password Recovery ";
mail.Body += " <html>";
mail.Body += "<body>";
mail.Body += "<table>";
mail.Body += "<tr>";
mail.Body += "<td>User Name : </td><td> HAi </td>";
mail.Body += "</tr>";
mail.Body += "<tr>";
mail.Body += "<td>Password : </td><td>aaaaaaaaaa</td>";
mail.Body += "</tr>";
mail.Body += "</table>";
mail.Body += "</body>";
mail.Body += "</html>";
mail.IsBodyHtml = true;
SmtpServer.Port = 587;
SmtpServer.Credentials = new System.Net.NetworkCredential("sendfrommailaddress.com", "password");
SmtpServer.EnableSsl = true;
SmtpServer.Send(mail);
Możesz go odnieść w mój blog
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-13 02:34:46
Miałem ten sam problem w przypadku aplikacji wdrożonej na Microsoft Azure.
SmtpException: serwer SMTP wymaga bezpiecznego połączenia lub klient nie został uwierzytelniony. Odpowiedź serwera: 5.5.1 Wymagane Uwierzytelnienie.
Najpierw zatwierdziłem wszystkie nieznane urządzenia (niektóre adresy ip pochodzące z Irlandii) na następującej stronie (zalogowany jako użytkownik Gmaila): https://security.google.com/settings/u/1/security/secureaccount
I used następujące ustawienia dla klienta:
var client = new SmtpClient("smtp.gmail.com");
client.Port = 587;
client.EnableSsl = true;
client.UseDefaultCredentials = false;
client.Credentials = new NetworkCredential("[email protected]", "my_password");
Zaczęło działać dopiero po ustawieniu następującej właściwości na SMTP-kliencie:
client.TargetName = "STARTTLS/smtp.gmail.com";
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-09-11 12:38:50
Zadziałało dla mnie aktywowanie opcji dla mniej bezpiecznych aplikacji (używam VB.NET)
Public Shared Sub enviaDB(ByRef body As String, ByRef file_location As String)
Dim mail As New MailMessage()
Dim SmtpServer As New SmtpClient("smtp.gmail.com")
mail.From = New MailAddress("[email protected]")
mail.[To].Add("[email protected]")
mail.Subject = "subject"
mail.Body = body
Dim attachment As System.Net.Mail.Attachment
attachment = New System.Net.Mail.Attachment(file_location)
mail.Attachments.Add(attachment)
SmtpServer.Port = 587
SmtpServer.Credentials = New System.Net.NetworkCredential("user", "password")
SmtpServer.EnableSsl = True
SmtpServer.Send(mail)
End Sub
Więc Zaloguj się na swoje konto, a następnie przejdź do 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-12-02 21:39:03
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-08-03 08:11:36
Mam wcześniej działający kod, który wyrzuca ten błąd teraz. Nie ma problemu z hasłem. Nie ma potrzeby konwertowania Wiadomości do base64. Okazuje się, że muszę wykonać następujące czynności:
- Wyłącz uwierzytelnianie dwuskładnikowe
- Ustaw "Zezwalaj na mniej bezpieczne aplikacje" na
- Zaloguj się na swoje konto gmail z serwera produkcyjnego
- Idź tutaj oraz Zatwierdź aktywność logowania
- Uruchom aplikację na serwerze produkcyjnym
Kodeks Pracy
public static void SendEmail(string emailTo, string subject, string body)
{
var client = new SmtpClient("smtp.gmail.com", 587)
{
Credentials = new NetworkCredential("[email protected]", "secretpassword"),
EnableSsl = true
};
client.Send("[email protected]", emailTo, subject, body);
}
Toczenie wyłączanie uwierzytelniania dwuskładnikowego
Ustaw "Zezwalaj na mniej bezpieczne aplikacje" na włączone (ta sama strona, trzeba przewinąć do dołu)
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-06-09 14:31:21
Wypróbowałem wszystkie znalezione tutaj sugestie, od włączania mniej bezpiecznych aplikacji, po wypróbowanie portu 587... nic nie działało. W końcu właśnie skomentowałem linię UseDefaultCredentials = false
. Wszystko działało, gdybym nie dotknął tego boolean ' a.
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-05-31 18:06:50
Jeśli używasz Gmaila.
Enjoy....
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-03-12 12:56:12
Naprawdę przyjrzałem się wielu pomysłom, jedynym rozwiązaniem było w ten sposób (działa z różnymi dostawcami poczty e-mail):
try
{
ViewProgressbar("Try to connect mail-server...", progressBar1.Value = 20);
string host = dsProvider.Rows[y]["POP_hostOut"].ToString();
int port = int.Parse(dsProvider.Rows[y]["POP_portOut"].ToString()); //587
string[] email = von1.Split('@');
string userName = (dsProvider.Rows[y]["login"].ToString() == "email[0]@email[1]")? email[0]+"@"+email[1] : email[0];
string password = layer.getUserPassword(listSender.SelectedValue.ToString());
SmtpClient client = new SmtpClient(host, port);
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
//A idea from MSDN but it not works. You got the "The server response was: 5.5.1 Authentication Required."
//System.Net.NetworkCredential myCreds = new System.Net.NetworkCredential(userName, password, host);
//System.Net.CredentialCache cache = new System.Net.CredentialCache();
//cache.Add(host, port, "NTLM", myCreds);
///cache.GetCredential(host, port, "NTLM"); //NTLM
client.Credentials = new System.Net.NetworkCredential(userName, password);
client.Host = host;
client.Port = port;
client.EnableSsl = true;
client.Send(message);
ViewProgressbar();
}
catch (SmtpException ex)...
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-09 11:21:15
Jestem abonentem google apps for business i ostatnie kilka godzin spędzam na radzeniu sobie z tym, nawet po poprawnych Ustawieniach (smtp, port, enableSSL itp.). Oto, co zadziałało dla mnie i stron internetowych, które rzucały błąd 5.5.1 podczas próby wysłania e-maila:
- Zaloguj się do swojego admin.google.com
- Kliknij zabezpieczenia
- Kliknij Ustawienia Podstawowe
- przewiń do na dole pola Ustawienia Podstawowe kliknij łącze: "przejdź do Ustawienia dla mniej bezpiecznych aplikacji"
- Wybierz opcję # 3: wymuszanie dostępu do mniej bezpiecznych aplikacji dla wszystkich użytkowników (niezalecane)
- naciśnij Zapisz u dołu okna
Po zrobieniu tego moje formularze e-mail z witryny ponownie działały. Powodzenia!
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-11-20 17:30:11
Może być konieczne utworzenie / wygenerowanie określonego hasła aplikacji z Gmaila. aplikacja lub skrypt użyją tego nowego hasła zamiast zwykłego hasła. Twoje zwykłe hasło będzie nadal działać dobrze dla Ciebie.
Właśnie to dla mnie zrobiło. Nadal używałem tego samego konta e-mail, ale musiałem wygenerować nowe hasło specyficzne dla aplikacji.
Https://support.google.com/accounts/answer/185833?hl=en
W zasadzie możesz to zrobić proszę.: https://security.google.com/settings/security/apppasswords
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-01-20 20:38:53
Komentarz Tomasza Madeyskiego naprawił mój problem... mówi, że istnieje błąd na SetDefaultCredential, mówi:
" problem polega na tym, że w UseDefaultCredentials setter znajduje się ten kod: this.transport.Poświadczenia = wartość ? (ICredentialsByHost) CredentialCache.DefaultNetworkCredentials: (ICredentialsByHost) null; która nadpisuje poświadczenia ustawione przez poświadczenia setter. Dla mnie wygląda to jak błąd SmtpClient "
Jeśli umieścisz smtpClient.UseDefaultCredentials = false
po ustawieniu poświadczeń... ta linia Ustaw na unieważnienie tych poświadczeń...
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-02-23 10:21:33
Powinieneś zabronić mniej bezpiecznym aplikacjom dostępu do Twojego konta google.
Do zrobienia:
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-24 07:17:38
Użyłem wszystkich powyższych rozwiązań, ale w końcu zadziałało dopiero po włączeniu dostępu IMAP z ustawień Gmaila Link do włączenia dostępu IMAP w ustawieniach Gmaila
Oczywiście wymagane były również punkty w innych rozwiązaniach.
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-09-28 13:07:05
Spróbuj zmienić hosta, to jest nowy, mam taką konfigurację mozilla thunderbird
Host = "smtp.googlemail.com"
That work for me
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-12-08 09:10:30