проблема при отправке электронной почты через службу SMTP не в качестве внешних отправителей - PullRequest
0 голосов
/ 14 июня 2019

У меня проблема с отправкой электронной почты в одну из моих офисных распределенных групп.Проблема заключается в следующем:

Удаленный сервер вернул '550 5.7.133 RESOLVER.RST.SenderNotAuthenticatedForGroup;требуется авторизация;Не удалось проверить ограничение доставки, поскольку отправитель не прошел проверку подлинности при отправке в эту группу '

Читая этот блог ( Ссылка ) и несколько других сообщений, я понимаю, чтобы решитьмоя проблема, мне нужно выполнить команду ниже в Active Directory Server (ADS).

Set-DistributionGroup <group_name> -RequireSenderAuthenticationEnabled $false

, что означает, что проблема в том, что группа рассылки была создана с настройками по умолчанию, что означает, что она не получает электронную почту от внешние отправители .

Мои вопросы:

1- Что означает «Внешний отправитель» , что обмен не принимает мою электронную почту в предложении выше?

2 - если я не хочу выполнять вышеуказанную команду, как мое приложение может притвориться, что оно не является внешним отправителем?(пожалуйста, обратите внимание, что когда я использовал outlook, я мог отправить электронное письмо на это письмо DL, и оно было успешным, но из моего приложения я не смог. Пожалуйста, посоветуйте мне.

мой код указан ниже для справки.1028 *

using (var client = new SmtpClient("14.19.21.23"))
            {
                try
                {
                    MailMessage newMail = new MailMessage();
                    newMail.From = new MailAddress("abc@company.com", "abc@company.com");

                    newMail.To.Add(new MailAddress("DL-team@company.com", "DL-Team"));

                    newMail.Subject = "subject";
                    newMail.Body = "Mail body";
                    newMail.SubjectEncoding = Encoding.UTF8;

                    newMail.IsBodyHtml = true;
                    client.UseDefaultCredentials = false;    // true is working
                    client.Credentials = new System.Net.NetworkCredential("username", "password", "companydomain");
                    client.DeliveryMethod = SmtpDeliveryMethod.Network;

                    client.Send(newMail);
                }
                catch (Exception ex)
                {
                    throw new Exception("Sending mail failed due to :" + ex.Message, ex);
                }
            }

EDIT1: Я наблюдаю, что SMTP-клиент не использует мои учетные данные! Я имею в виду, что даже если я использую неправильный пароль, проблем не возникает! Любая идея?Исследование SMTP использует самый простой способ отправки почты, поэтому он может использовать мои данные ПК. Не могли бы вы поделиться своей идеей? Поддержка нашей компании по протоколу [NTLM, GSSAPI]:

telnet 14.19.21.23 25
220 *****************************
EHLO www.Company.com
250-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXA
250-SIZE 37748736
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-XXXXXXXB
250-XXXXXXXXXXXXXC
250-AUTH NTLM
250-XXXXXXXXXXXXXXXXXD
250-8BITMIME
250-BINARYMIME
250-XXXXXXXE
250 XXXXF

1 Ответ

0 голосов
/ 20 июня 2019

Проблема была связана с настройкой управления доставкой.

Вам следует изменить параметр управления доставкой для распределенного списка «Ваша распределенная электронная почта» с «Только отправители внутри моей организации» на «Отправители внутри и вне моей организации».. ”

enter image description here

Вы также можете сделать это с помощью сценария ниже.

Set-DistributionGroup <your distribute email> -RequireSenderAuthenticationEnabled $false
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...