Используя SmtpClient против вашего SMTP-сервера, вы запрашиваете службу.Ваше приложение должно только указывать, использовать ли аутентификацию Windows (которая будет Kerberos или NTLM в зависимости от того, как настроена ваша интрасеть) или спецификацию учетных данных и использовать ли SSL.
Что касается аутентификации приложения, вы можете сослаться на WindowsIdentity из System.Security.Principal.WindowsIdentity.GetCurrent () .В частности, вы можете использовать свойство IsAuthenticated .
Прежде чем пытаться выполнить любой вызов SMTP-сервера, если вы хотите использовать аутентификацию Windows, попробуйте что-то вроде этого:
SmtpClient client = new SmtpClient(server, port);
client.Credentials = CredentialCache.DefaultNetworkCredentials;
Затем разрешите SMTP-серверу авторизовать, действительно ли пользователь может выполнить предпринятое действие.
Если вы хотите сказать, отключите кнопку действия, поскольку SMTP-сервер отклонит предпринятое пользователем действие, и выЕсли вы будете действовать упреждающе и не позволять пользователю делать то, что он не может сделать, то такое отклонение должно быть детерминированным до попадания на SMTP-сервер (т. е. вы не просто полагаетесь на SMTP-сервер, чтобы сказать вам это; вам понадобится какой-то видуровня безопасности бизнеса на месте).