C # отправка кода электронной почты внезапно перестала работать

#c# #email #mailmessage

#c# #Адрес электронной почты #mailmessage

Вопрос:

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

     smtpClient.Send(msg);
  

это внутреннее приложение, отправляющее электронные письма внутренним сотрудникам в моей компании

со следующей ошибкой:

Почтовый ящик недоступен. Ответ сервера был: 5.7.1 Не удалось ретранслировать для ABC@comp.com

кто-нибудь может придумать причину, по которой этот код будет нормально работать целую вечность и внезапно просто прекратит работу?

         MailMessage msg = new MailMessage();
        msg.From = new MailAddress(fromEmailAddress_);
        msg.IsBodyHtml = true;

        msg.To.Add(new MailAddress(email.Trim()));

        msg.Subject = subject_;
        msg.Body = body_;
        msg.IsBodyHtml = true;
        msg.Priority = MailPriority.High;

        var smtpClient = new SmtpClient(_mailServer);
        smtpClient.UseDefaultCredentials = false;
        smtpClient.Credentials = new System.Net.NetworkCredential(_user, _pwd);

        try
        {
            smtpClient.Send(msg);
        }
        catch (Exception ex)
        {
            Console.Write(ex.Message);

        }
  

Ответ №1:

Почтовый сервер, к которому вы подключаетесь, был ужесточен, чтобы не разрешать ретрансляцию ни для ваших учетных данных, ни из вашей сети / IP. Это не проблема с кодом (если не считать смены SMTP-сервера), а проблема или вопрос к тому, кто управляет используемым вами SMTP-сервером.

Комментарии:

1. как мы собираемся преодолеть эту проблему?

Ответ №2:

Помимо проверки того, что служба smtp запущена, вы можете попробовать следующее:

Попробуйте установить для перечисления SmtpDeliveryMethod значение PickupDirectoryFromIis.

http://msdn.microsoft.com/en-us/library/system.net.mail.smtpdeliverymethod.aspx