2013-07-16 9 views
0

Я написал ASP.NET для отправки почты SMTP каждые 12 часов. Он отлично работает на моем офисном сервере, но когда я запускаю решение на моем сервере клиентов, он показывает мне ошибку «Удаленный сертификат недействительно в соответствии с процедурой проверки ". какова будет проблема и каково ее решение?Ошибка при отправке электронной почты

+0

Он не «показывает вам ошибку», он выдает исключение. Пожалуйста, опубликуйте полное исключение. –

+0

Является ли клиент самозаверяющим сертификатом для своего почтового сервера? Один из них, скорее всего, будет проблемой: http://stackoverflow.com/a/9983342/264607 – BlackICE

ответ

0

Есть несколько вопросов, которые там уже:

(Great Обратная связь о том, что для проверки) The remote certificate is invalid according to the validation procedure

(код для запуска на не-прод получить прошлые ошибки) "The remote certificate is invalid according to the validation procedure." using Gmail SMTP server

(Дополнительная информация) The remote certificate is invalid according to the validation procedure

Если T шланг не работают

Try добавления сертификатов на сервере

  1. Сохранить сертификат на свой компьютер, вы должны добавить сертификат тоже.
  2. Start -> Run -> MMC Откроется Microsoft Management Console
  3. Перейти к Файл -> Добавить/удалить оснастку ... Выберите Сертификаты из списка Доступные оснастки: поле и нажмите кнопку Добавить>
  4. у вас будет три варианта (Пользователь, сервис, компьютер), выберите компьютер учетную запись и нажмите Далее> .Hit Готово, чтобы закрыть диалоговое окно, и OK, чтобы закрыть оснастку в диалоговом
  5. правой кнопкой мыши Доверенные корневые центры сертификации Власти -> Все задачи -> Импорт ...
  6. Hit Next>, просмотрите сертификат и нажмите кнопку до тех пор, пока диалог не закроется, и у вас есть , успешно добавленный сертификат.

Выполнить след Посмотреть сообщение об ошибке

Добавьте следующие строки в файле web.config. (Из here)

<system.diagnostics> 
    <trace autoflush="true" /> 
      <sources> 
      <source name="System.Net"> 
        <listeners> 
      <add name="System.Net"/> 
        </listeners> 
      </source> 
      <source name="System.Net.HttpListener"> 
        <listeners> 
      <add name="System.Net"/> 
        </listeners> 
      </source> 
    <source name="System.Net.Sockets"> 
        <listeners> 
      <add name="System.Net"/> 
        </listeners> 
      </source> 
    <source name="System.Net.Cache"> 
        <listeners> 
      <add name="System.Net"/> 
        </listeners> 
      </source> 
      </sources> 
    <sharedListeners> 
      <add 
      name="System.Net" 
      type="System.Diagnostics.TextWriterTraceListener" 
       initializeData="System.Net.trace.log" 
      traceOutputOptions = "ProcessId, DateTime" 
      /> 
    </sharedListeners> 
<switches> 
    <add name="System.Net" value="Verbose" /> 
    <add name="System.Net.Sockets" value="Verbose" /> 
    <add name="System.Net.Cache" value="Verbose" /> 
    <add name="System.Net.HttpListener" value="Verbose" /> 
</switches> 
</system.diagnostics> 

Это даст вам более близкий взгляд на то, что это не так. то есть. несоответствие имени и т. д. Обязательно измените initializeData = «System.Net.trace.log» на адрес вашего журнала и убедитесь, что у службы сети есть доступ к r/w.

Смежные вопросы