2010-01-22 2 views
0

Возможно, это скорее вопрос IIS, чем программирование, но я все равно его выброшу.Проблема с SMTP-реле в .NET

Я пытаюсь отправить почту через SMTP с C#, используя следующий код теста:

//params: from email, to email, subject, body 
MailMessage m = new MailMessage(<sendemail>, <receiveemail>, "testsubject", "Testbody"); 

SmtpClient c = new SmtpClient(<SMTP Server>); 

c.Send(m); 

чрезвычайно прост. Я избегаю полномочия полностью из-за конфигурации на мой SMTP-сервер:

alt text http://img683.imageshack.us/img683/8909/smtp1.png

Это должно позволить мне подключиться без полномочий. В качестве альтернативы я попробовал пустые строки для имени пользователя/пароля и учетных данных по умолчанию.

Когда я отправляю попытку отправки, я получаю сообщение «Отправка SMTP-Email» с ошибкой: Почтовый ящик недоступен. Ответ сервера: 5.7.1 Не удалось передать «Ошибка». Я хожу в секцию релейного IIS, и это выглядит следующим образом:

alt text http://img192.imageshack.us/img192/5002/smtp2.png

Так что моя мысль, даже если «Разрешить все компьютеры, которые успешно прошла проверку подлинности ретрансляции» опция включена, поскольку я позволяю анонимную проверку подлинности мое приложение не может передать. Это так? Если да, то каким образом я могу исправить свой код для ретрансляции? Я пробовал сообщения на электронные письма внутри и за пределами домена, но безрезультатно. Это сервер 2003 года.

ответ

1

Ваша оценка не правильная.

Вы можете либо переключиться на использование аутентифицированных подключений, либо добавить все IP-адреса/Домены, из которых будет работать ваш код, в список исключений ретрансляции.

+0

Благодарим вас за ввод. Я попробую. – Kevin

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