2009-09-11 7 views
0

У меня есть код следующим образом:Отказ отправки почты (SmtpClient)

var smtpClient = new SmtpClient("my.mail.server"); 
smtpClient.Send(mailmessage); 

однако вызов метода отправки завершается с «удаленной машине активно отказались» сообщение об исключении. Я знаю, что блокировки брандмауэра нет, потому что я могу использовать telnet для одного и того же адреса и вручную обрабатывать протокол Smtp через сервер. Я знаю, что код работает, потому что я могу получить соединение с другим портом, чем по умолчанию 25. Нет никакого программного брандмауэра, блокирующего передачу.

При прохождении проводки я вижу, что пакеты устанавливаются при telnet'инге, и я вижу, что ничто не покидает мою машину, когда я пытаюсь с кодом. Таким образом, это безопасное предположение, что проблема на моей машине и не имеет ничего общего с сетью.

В принципе, я могу подключиться к адресу со всем остальным, чем код .NET, который приводит меня к моей проблеме, потенциально являющейся проблемой конфигурации, но мне не хватает идей о том, где и что мне нужно будет настроить по-разному. Любые предложения по возможной причине?

EDIT: В проекте с двумя строками, которые отправляют почту, я получаю ту же проблему. При попытке установить TCP-соединение через код я получаю одну и ту же проблему, поэтому я знаю, что это не имеет никакого отношения к протоколу SMTP (или аутентификации), проблема заключается в попытке заблокировать соединение сокетов TCP, но я до сих пор не знаю, почему

+0

Что произойдет, если вы начнете новый проект и включите этот код? – jim

+0

Какой SMTP-сервер вы используете? –

+0

@DaveG не знал бы, что это не под моей администрацией, это аутсорсинг , но я очень уверен, что это не имеет никакого отношения к серверу, поскольку пакет TCP никогда не покидает мою машину. –

ответ

1

Ну, казалось бы, системные администраторы забыли, что они поставили два брандмауэра на место ... (мне стоило всего два дня или около того), когда дело доходит до порта 25, наш антивирус также включает антиспам. Спасибо за все мысли и предложения.

1

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

Можете ли вы отправить электронное письмо через SMTP-сервер другим клиентом, например. Перспективы?

+0

:) Как я уже сказал, я могу подключиться к серверу Smtp через telnet. И что я не упоминал, что сервер не запрашивает никаких учетных данных, и я могу подключиться в основном к чему-либо, кроме моего кода .NET. (Я могу подключиться к другому серверу, работающему на той же машине, на другом порту с тем же кодом, чтобы я знал, что код работает) –

3

Какая ОС вы работаете? Теперь я укажу очевидное и спрошу, подтвердили ли вы, что брандмауэр Windows выключен? (я вижу свой комментарий программное обеспечение брандмауэра, но это, как правило, забывают)

Также попробуйте и проверьте порт используется, как мы должны использовать наши, как так ->

SmtpClient smtpClient = new SmtpClient("OURMAIL",25); 
smtpClient.Send(message); 

Exchange Ports

+0

Я не видел ваших комментариев ниже ответа DaveG .... хм. –

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