Получение ошибки: SMTP-серверу требуется безопасное соединение, или клиент не прошел аутентификацию. Ответ сервера был: 5.7.57 SMTP. - PullRequest
0 голосов
/ 17 июня 2020

У меня есть консольное приложение C# для отправки писем через Outlook. Но выдает ошибку ". SMTP-серверу требуется безопасное соединение, или клиент не прошел аутентификацию. Ответ сервера был: 5.7.57 SMTP; Клиент не был аутентифицирован для отправки анонимной почты во время MAIL FROM [PN1PR01CA0115.INDPRD01. PROD.OUTLOOK.COM] ". Я пробовал несколько доступных кодов и решений, но все еще получаю эту ошибку. Даже пробовал с портом 25, но безуспешно. Пожалуйста, если кто-то может помочь.

MailMessage mail = new MailMessage(from, to);
        SmtpClient client = new SmtpClient();
        client.DeliveryMethod = SmtpDeliveryMethod.Network;
        client.UseDefaultCredentials = false;
        client.Credentials = new System.Net.NetworkCredential("username", "password");
        client.Host = "smtp-mail.outlook.com";
        client.Port = 587;
        client.EnableSsl = true;
        mail.Subject = "this is a test email.";
        mail.Body = "this is my test email body";
        client.Send(mail);

1 Ответ

0 голосов
/ 18 июня 2020

Прошло более 10 лет с тех пор, как я исследовал SMTP. Позвольте мне объяснить, что я обнаружил, когда провел свое исследование. SMTP имеет три различных режима работы. Я думаю, вы относитесь к 3-й категории

1) SMTP с веб-сервером: вы подключаетесь к своему почтовому веб-серверу через порт 587 с сетевыми учетными данными, содержащими ваше имя пользователя и пароль. Адрес От должен совпадать с учетной записью пользователя в учетных данных. Некоторые веб-сайты по-прежнему используют небезопасный порт 25. Другие используют безопасный порт 465. Поэтому я обычно рекомендую проверить веб-сервер электронной почты, чтобы получить параметры SMTP.

2) Outlook с учетной записью Pop: администратору необходимо настроить учетную запись Pop в Панели управления: Почтовый профиль для каждого пользователя. Outlook установлен на P C. Когда Outlook запущен, он будет подключаться к почтовому серверу с помощью профиля User Mail. Таким образом, когда используется SMTP, вы также используете тот же профиль почты пользователя, поэтому вы используете сетевые учетные данные по умолчанию вместо имени пользователя и пароля.

3) Outlook в корпоративной сети с Outlook Server: для предотвращения хакеров используется дополнительная безопасность. от перехвата электронной почты. При первом использовании Outlook на P C установка выполняется там, где профиль User Mail настроен для подключения к корпоративному серверу Outlook. При подключении к почтовому серверу необходимо использовать учетные данные пользователя (учетные данные по умолчанию). Порт 587 - это порт, перенаправленный на прокси-сервер. Таким образом, это предотвращает отправку любого SMTP-сообщения go стороннему веб-серверу. Вся электронная почта должна быть go на корпоративный сервер. Когда отправляется электронное письмо, учетные данные проверяются прокси-сервером путем сравнения учетных данных по умолчанию с корпоративными учетными данными пользователя путем проверки на корпоративном сервере паролей. Я думаю, что вы терпите неудачу. После того, как прокси проверит учетные данные, электронное письмо пересылается на сервер Outlook и отправляется.

...