Мне нужно отправить электронное письмо с использованием NTLM, в настоящее время я использую следующий код для отправки электронной почты
SmtpClient objSmtpClient;
System.Net.NetworkCredential objNetworkCredential;
objSmtpClient = new SmtpClient("10.xxx.xxx.xxx", 587);
objSmtpClient.EnableSsl = true;
objNetworkCredential = new System.Net.NetworkCredential(userName, password);
try
{
string to = txtto.Text;
MailMessage objMailMessage = new MailMessage();
objMailMessage.From = new MailAddress("from@email.com", "sendername");
objMailMessage.To.Add(new MailAddress("to@email.com"));
objMailMessage.Subject = "subject";
objMailMessage.Body = "body";
objMailMessage.IsBodyHtml = true;
objSmtpClient.EnableSsl = true;
objSmtpClient.UseDefaultCredentials = true;
objSmtpClient.Credentials = objNetworkCredential;
objSmtpClient.Send(objMailMessage);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message + " INNER EXCEPTION > "+ex.InnerException +" DATA > "+ex.Data);
}
Вышеприведенный код работает, если я пытаюсь изменить порт на 25, а EnableSSL на false, но когда я пытаюсь отправить его с помощью 587 и установить для EnableSSL значение true, он не работает.
Я получаю следующую ошибку, иногда получаю ошибку Invalid Certificate.
SMTP-сервер требует безопасного соединения или клиент не прошел проверку подлинности. Ответ сервера: 5.7.1 Клиент не прошел проверку подлинности.
Я также получаю эту ошибку
Я думаю, что проблема с аутентификацией, как я могу заставить использовать NTLM
Я разговаривал с ИТ-командой, которая установила на моем компьютере инструмент для проверки электронной почты, с помощью которого инструмент был успешно отправлен.
Ниже приведены настройки, которые он применил в этом инструменте
Может кто-нибудь помочь, пожалуйста