Доброго времени суток!
Есть код на C#, который отправляет письма:
MailMessage mail = new MailMessage();
mail.From = new MailAddress(EmailLogin);
mail.To.Add(new MailAddress(emailAddress));
mail.Subject = "SUBJECT";
mail.IsBodyHtml = false;
mail.Body = "Body";
SmtpClient client = new SmtpClient();
client.Host = "smtp.mail.ru";
client.Port = 587;
client.EnableSsl = true;
client.Credentials = new NetworkCredential(EmailLogin, EmailPassword);
client.Send(mail);
С локальной машины(ПК на котором писал и тестировал код) все ок, залил код на сервер Ubuntu, получается следующая ошибка:
spoiler
error:0E076071:configuration file routines:MODULE_RUN:unknown module name
The type initializer for 'SslInitializer' threw an exception.
The type initializer for 'Ssl' threw an exception.
The type initializer for 'SslMethods' threw an exception.
The type initializer for 'SslMethods' threw an exception.
Authentication failed, see inner exception.
Authentication failed, see inner exception.
Authentication failed, see inner exception.
Authentication failed, see inner exception.
17:54:35.388 | Error | ResetPassword | Message: Authentication failed, see inner exception. | StackTrace: at System.Net.Security.SslStream.StartSendAuthResetSignal(ProtocolToken message, AsyncProtocolRequest asyncRequest, ExceptionDispatchInfo exception)
at System.Net.Security.SslStream.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslStream.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslStream.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslStream.ProcessAuthentication(LazyAsyncResult lazyResult, CancellationToken cancellationToken)
at System.Net.Security.SslStream.AuthenticateAsClient(SslClientAuthenticationOptions sslClientAuthenticationOptions)
at System.Net.Security.SslStream.AuthenticateAsClient(String targetHost, X509CertificateCollection clientCertificates, SslProtocols enabledSslProtocols, Boolean checkCertificateRevocation)
at System.Net.TlsStream.AuthenticateAsClient()
at System.Net.Mail.SmtpConnection.GetConnection(String host, Int32 port)
at System.Net.Mail.SmtpTransport.GetConnection(String host, Int32 port)
at System.Net.Mail.SmtpClient.GetConnection()
at System.Net.Mail.SmtpClient.Send(MailMessage message)
Как я понимаю, копать нужно в сторону ssl, но в этом я особо ничего не смыслю, есть опыт только подключения сертификатов для домена, но тут голая ВМ с открытым статичным IP, домена никакого нет, да и не нужен.
Версия OpenSSL 3.0.2
Мне бы понять, в какую сторону копать то. Спасибо!