System.net.Mail使用当前的winfows用户进行身份验证

时间:2016-10-28 21:40:30

标签: c# vb.net winforms system.net.mail

如何在System.Net.Mail中使用当前登录用户凭据?

通常使用以下命令创建一组凭据:

smtp.Credentials = New NetworkCredential(username,password,domain)

我尝试使用以下代码来使用当前用户:

Import System.Net.Mail
...
       Using smtp As New SmtpClient("smtp.office365.com", 587)
            smtp.EnableSsl = True ' ** ** set before Credentials
            smtp.UseDefaultCredentials = False
            smtp.Credentials = My.User.CurrentPrincipal  '<<<<<<<<<<<<<<
            Using message As New MailMessage()
                  ....
            End Using
       End Using

&lt;&lt;&lt;&lt;&lt;行导致错误:

  Unable to cast object of type 'System.Security.Principal.WindowsPrincipal' 
  to type 'System.Net.ICredentialsByHost'.

有没有办法将My.User /当前凭据强制转换为System.Net.Mail需要的凭据类型?

桌面客户端Win7 + x64,ADS域中的PC,用户登录Windows

0 个答案:

没有答案