SMTP электронная почта не работает в ASP.NET7 + II7, но работает в Telnet - PullRequest
2 голосов
/ 06 августа 2010

По сути, мы купили новый сервер с Windows Server 2008 R2, IIS 7.5 и настроили SMTP-сервер.Особых настроек нет.Используемый код работал нормально в Windows Server 2003, IIS6 .

. Здесь приведена сводная информация о настройках

  1. порт 25, все неназначенные
  2. Анонимный доступ
  3. 127.0.0.1 предоставляется для ретрансляции доступа
  4. Анонимный доступ установлен для исходящей безопасности.

Я могу отправить электронное письмо через telnet127.0.0.1 25

Проблема в том, что я не могу отправлять электронные письма через страницу отправки друга в Asp.Net.

Для электронной почты ASP.NET SMTP в IIS7, вотмои настройки

  1. Доставка электронной почты на SMTP-сервер: 127.0.0.1, порт 25
  2. Настройки аутентификации: Не требуется

В моем файле web.config у меня есть следующее:

<system.net>
  <mailSettings>
    <smtp>
      <network host="127.0.0.1" port="25" />
    </smtp>
  </mailSettings>
</system.net>

Вот код кода:

MailMessage M = new MailMessage();
M.Subject = subject;
.To.Add(new MailAddress(e1, f1));
M.From = new MailAddress(sendemail, sendname);
M.ReplyTo = new MailAddress(sendemail, sendname);
M.IsBodyHtml = true;
M.Body = email_message;

SmtpClient sClient = new SmtpClient();
sClient.Send(M);

Вот информация журнала событий:

Информация о процессе: ИД процесса: 2840 Имя процесса: w3wp.exe Имя учетной записи: NT AUTHORITY \ NETWORK SERVICE

Информация об исключении:

  • За исключениемТип иона: WebException
  • Сообщение об исключении: Невозможно подключиться к удаленному серверу

Запрос информации:

  • Запрос URL: ...
  • Путь запроса: ...
  • Адрес хоста пользователя: ...
  • Пользователь:
  • Аутентифицировано: False
  • Тип аутентификации:
  • Имя учетной записи потока: NT AUTHORITY \ NETWORK SERVICE

Есть идеи, почему я могу отправлять электронную почту через telnet, но не через страницу asp.net?Опять же, эта страница отправки aspx друга работала нормально в Windows Server 2003.

Я также ссылался на эту страницу, http://forums.iis.net/t/1157046.aspx и мне интересно, что мне не хватает.Спасибо!

1 Ответ

3 голосов
/ 06 августа 2010

Я тоже столкнулся с этим некоторое время назад:

Вот что у меня сработало: (У вас есть 2 консоли управления IIS)

В Консоль управления IIS6 (Да, IIS 6) щелкните правой кнопкой мыши виртуальный сервер, щелкните вкладку Доступ, выберите Соединение, Предоставьте доступ к 127.0.0.1, Нажмите Реле, Предоставьте доступ к 127.0.0.1.

Когда дело доходит до IIS7, я действительно мало что знаю, я просто решаю проблему, с которой сталкиваюсь, чтобы мои приложения работали. Мой сервер профессионально размещен, поэтому, когда он не работает, обычно один из администраторов дает мне решение, или я возлюсь, пока он не заработает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...