#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-сервера с его помощью :
- В панели управления>> Администрирование>> Информационные службы Интернета.
- Откройте узел для своего компьютера, щелкните правой кнопкой мыши узел виртуального SMTP-сервера по умолчанию и выберите Свойства.
- На вкладке Доступ нажмите Подключение.
- Выберите только список ниже, нажмите Добавить и добавьте IP 127.0.0.1. Это ограничивает подключения только к локальному компьютеру, т.Е. localhost. Закройте диалоговое окно подключения.
- Нажмите Relay и повторите шаг 4, чтобы разрешить только localhost ретранслировать через этот сервер.
Для IIS7 вы можете сделать это с помощью :
- Откройте IIS и выберите узел для своего компьютера, дважды щелкните по опции «Электронная почта SMTP» на правой боковой панели.
- Вы можете установить данные SMTP-сервера и порта там.
В вашем брандмауэре или маршрутизаторе (или обоих) закройте входящий порт 25. Это важная мера безопасности, которая не позволит спамерам найти ваш SMTP-сервер и использовать его для рассылки спама.
Надеюсь, это решит вашу проблему.