Аутентификация по электронной почте - PullRequest
1 голос
/ 22 февраля 2012

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

Есть ли способ сделать это?

Я использовал Environment.UserName;, и он правильно получает имя пользователя, но я не знаю, как получить пароль.

Вот что я делаю для почтового помощника.

public void SendEmail(int port, string host, string displayName, string subject, string body, string addressFrom, string addressTo, string password, string username)
        {
            MailMessage messageToSend = new MailMessage();
            messageToSend .Subject = subject;
            messageToSend .Body = body;
            messageToSend .From = new MailAddress(addressFrom, displayName);
            messageToSend .To.Add(addressTo);
            messageToSend .Priority = MailPriority.High;
            messageToSend .IsBodyHtml = true;
            SmtpClient SMTPclient = new SmtpClient(Host, Port);
            SMTPclient .EnableSsl = false;
        SMTPclient.Credentials = new NetworkCredential(Username, Password);
            SMTPclient.Send(message);
        }

Ответы [ 2 ]

1 голос
/ 22 февраля 2012

Нет способа получить пароль, но на самом деле вам не нужен пароль, вам нужны учетные данные для текущего пользователя , которые вы можете получить и назначить своему SMTP-клиенту следующим образом

SMTPclient.Credentials = CredentialCache.DefaultNetworkCredentials;
0 голосов
/ 22 февраля 2012

Нет способа восстановить зарегистрированный пароль пользователя !!
Windows хранит хэш пароля, а не сам пароль.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...