Возможно, это больше вопрос IIS, чем программирование, но, тем не менее, я его выброшу.
Я пытаюсь отправить электронное письмо через 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-сервере:
альтернативный текст http://img683.imageshack.us/img683/8909/smtp1.png
Это должно позволить мне подключаться без учетных данных. В качестве альтернативы я пробовал пустые строки для имени пользователя / пароля и учетных данных по умолчанию.
Когда я отправляю попытку отправки, я получаю сообщение «Ошибка отправки электронной почты SMTP со следующей ошибкой: Почтовый ящик недоступен. Ответ сервера: 5.7.1 Невозможно передать сообщение для« Ошибка ». Я иду в секцию реле IIS, и это следующим образом:
альтернативный текст http://img192.imageshack.us/img192/5002/smtp2.png
Так что я думаю, что хотя опция «Разрешить всем компьютерам, которые успешно проходят аутентификацию для ретрансляции» включена, так как я разрешаю анонимную аутентификацию, мое приложение не может ретранслировать. Это тот случай? Если да, то как мне исправить код, чтобы иметь возможность ретранслировать? Я пробовал сообщения на электронные письма внутри и за пределами домена, но безрезультатно. Это сервер 2003 года.