Ошибка при попытке отправить электронное письмо в asp.net

#c# #asp.net #email

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

Вопрос:

Я пытался внедрить опцию электронной почты в свою программу.. Было выдано следующее исключение

  $exception {"The server rejected one or more recipient addresses. The server response 
was: 550 5.7.1 <"mail-id">... Relaying denied. IP name lookup failed [172.25.9.23]rn"}    
System.Exception {System.Web.HttpException}
  

Это то, что я сделал……

      MailMessage objEmail = new MailMessage();
        objEmail.To     = txtTo.Text;
        objEmail.From   = txtFrom.Text;
        objEmail.Cc     = txtCC.Text;
        objEmail.Subject = txtSubject.Text;
        objEmail.Body   = txtBody.Text; ;
        objEmail.Priority = MailPriority.High;

        WebMsgBox.Show("test");
        SmtpMail.SmtpServer = "someserver.com";
        MailAttachment attach = new MailAttachment(@"D:email.txt");
        objEmail.Attachments.Add(attach);

        try
        {          
            SmtpMail.Send(objEmail);
            WebMsgBox.Show("Your Email has been sent sucessfully - Thank you");
        }
        catch (Exception exc)
        {
            WebMsgBox.Show("Send failure: "   exc.ToString());

        }
  

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

1. Вы проверили все адреса получателей? Убедитесь, что они написаны правильно.

Ответ №1:

Возможно, убедитесь, что на сервере, который вы используете для отправки (smtp), IP-адрес отправителя внесен в белый список. На самом деле я не знаю, как это делается, но ваши люди из инфраструктуры могут помочь. Похоже, что smtp-сервер был несколько защищен.

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

1. Поддержано. Сообщение об ошибке указывает, что IP-адрес вашего клиента 172.25.9.23 не входит в число тех, с которых сервер настроен на прием исходящих сообщений.

2. Вероятно, вам будет сложно ретранслировать сообщения через smtp-сервер, который вы не контролируете (например, gmail); иначе у каждого спамера в мире был бы выходной день 🙂 — используйте его у хостинг-провайдера или на сервере вашего интернет-провайдера.

Ответ №2:

Когда мы пытаемся отправить почту, многие параметры конфигурации должны быть в порядке, включая некоторые фоновые вещи. (почтовый сервер, антивирус, брандмауэры, маршрутизаторы, антишпионские программы и т. Д.). Вы проверили, включен ли ваш SMTP-сервер (службы) или нет?

Я не уверен на 100%, что приведенные ниже шаги решают вашу проблему, но вы можете проверить настройки своего SMTP-сервера с его помощью :

  1. В панели управления>> Администрирование>> Информационные службы Интернета.
  2. Откройте узел для своего компьютера, щелкните правой кнопкой мыши узел виртуального SMTP-сервера по умолчанию и выберите Свойства.
  3. На вкладке Доступ нажмите Подключение.
  4. Выберите только список ниже, нажмите Добавить и добавьте IP 127.0.0.1. Это ограничивает подключения только к локальному компьютеру, т.Е. localhost. Закройте диалоговое окно подключения.
  5. Нажмите Relay и повторите шаг 4, чтобы разрешить только localhost ретранслировать через этот сервер.

Для IIS7 вы можете сделать это с помощью :

  1. Откройте IIS и выберите узел для своего компьютера, дважды щелкните по опции «Электронная почта SMTP» на правой боковой панели.
  2. Вы можете установить данные SMTP-сервера и порта там.

В вашем брандмауэре или маршрутизаторе (или обоих) закройте входящий порт 25. Это важная мера безопасности, которая не позволит спамерам найти ваш SMTP-сервер и использовать его для рассылки спама.

Надеюсь, это решит вашу проблему.