IIS не может отправлять почту или записывать файлы на диск
Я использую IIS 10 и установил SMTP-сервер IIS для отправки некоторых писем с использованием C#. У нас есть новый сервер Windows 2016, на который мы хотим перенести этот код.
Это заняло уйму времени, но мы запустили SMTP-сервер, и мы можем отправлять почту с помощью telnet и с помощью перехвата почты в C:\inetpub\mailroot. Однако, когда я пытаюсь отправить почту с IIS с использованием сценария C#, я получаю ответ, который localhost отказано в доступе.
Чтобы решить это я:
- удалил антивирусную программу
- проверил брандмауэр
- установить UAC на низкий / выкл
- Изменение прав пользователя
И сделал кое-что еще, о чем я забыл.
Потому что это не помогло, я подумал, что было бы разумно использовать перехват почты, так как я знал, что это работает. Поэтому я указал IIS на почту и разослал почту. Код генерирует файл.eml и пытается поместить его в C:\inetpub\mailroot\Pickup
К сожалению, это тоже не сработало. Я получил сообщение о том, что IIS не может найти часть пути. Итак, сначала я проверил путь, это было правильно. Поэтому я создал каталог D:\Logs и хотел написать файл test.txt с использованием C# и получил тот же результат: "Не удалось найти часть пути"
Таким образом, я установил права доступа к этой папке для пользователя "Все", это не сработало. Я добавил IUSR и нескольких других пользователей, и всем было разрешено делать все с этим каталогом... Ничего не помогало. То же самое было для C:\inetpub\mailroot, где я добавил разных пользователей.
Я попытался создать общий доступ к этим папкам, снова позволив каждому пользователю посетить эту папку. Это по-прежнему не сработало, сообщение было о том, что он не может найти сетевой ресурс \ имя_сервера \Logs. Итак, я создал нового пользователя, и с помощью олицетворения я попытался войти в систему с этим пользователем.
При этом я получил сообщение об ошибке, что имя пользователя или пароль были неправильными. Я использовал имя сервера в качестве имени домена, поскольку оно не находится в домене, и использовал echo %userdomain% в CMD, которое, как было сказано, использует это. Сам пользователь был правильным, а также пароль был правильным. У пользователя был полный доступ к папке... Но все равно проблемы.
Таким образом, я много чего перепробовал, но это не изменит проблемы с отправкой почты и записью файлов на диск.
Это похоже на проблему с правами, но я не могу понять, почему я не могу сделать все это на сервере.
Поэтому, возможно, вы знаете, почему IIS не может получить доступ к серверу, на котором работает.
Любая помощь приветствуется.