. Net. Почта не выкидывает исключения с обменом SMTP - PullRequest
0 голосов
/ 13 января 2020

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

мой код:

  public async Task SendEmailAsync(Email email)
  {
        SmtpClient _client = new SmtpClient("smtp.dummyExchange.cz");
        _client.Credentials = new System.Net.NetworkCredential("credential", "pass");
        _client.DeliveryMethod = SmtpDeliveryMethod.Network;
        _client.EnableSsl = true;
        _client.Port = 25;

        MailMessage mail = new MailMessage();
        mail.From = new MailAddress("fake@fake.cz");
        mail.To.Add('fake@gmail.fake');
        mail.Subject = 'subject';
        mail.Body = Getmailbody();
        mail.IsBodyHtml = true;

        string messageId = $"<{GenerateMessageId()}>";
        mail.Headers.Add("Message-ID", messageId);

        try
        {
            await _client.SendMailAsync(mail);
        }
        catch (Exception)
        {
            throw;
        }
        finally
        {
            mail.Dispose();
        }....

Я пытался использовать точно такой же код с SMTP-сервером внешнего реле сервер и все работает просто отлично. Так что либо проблема с настройками обмена, либо я просто использую SmtpClient неправильно с обменом?

Редактировать:

Например, при отправке электронной почты через SMTP-сервер ретрансляции я получаю следующее исключение:

"Mailbox unavailable. The server response was: 4.1.2 <fake@gmail.fake>: Recipient address rejected: Domain not found"

Но при использовании exchange не исключение.

Редактировать:

Версия Exchange: Exchange 2016 CU13

Спасибо за помощь.

...