电子邮件助手身份验证

时间:2012-02-22 09:43:16

标签: c# email authentication

我正在创建一个发送电子邮件的电子邮件帮助程序,这工作正常,但我需要通过当前用户的用户名和密码。

有没有办法实现这个目标?

我使用了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 个答案:

答案 0 :(得分:1)

您无法获得密码,但实际上您不需要密码,您需要credentials for current user,您可以获取并分配给您的SMTP客户端,如下所示

SMTPclient.Credentials = CredentialCache.DefaultNetworkCredentials;

答案 1 :(得分:0)

您无法检索当前登录的用户密码!!
Windows存储密码的哈希值,而不是密码本身。