我正在创建一个发送电子邮件的电子邮件帮助程序,这工作正常,但我需要通过当前用户的用户名和密码。
有没有办法实现这个目标?
我使用了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);
}
答案 0 :(得分:1)
您无法获得密码,但实际上您不需要密码,您需要credentials for current user,您可以获取并分配给您的SMTP客户端,如下所示
SMTPclient.Credentials = CredentialCache.DefaultNetworkCredentials;
答案 1 :(得分:0)
您无法检索当前登录的用户密码!!
Windows存储密码的哈希值,而不是密码本身。