Windows services Windows服务中使用的Exchange电子邮件帐户的凭据

Windows services Windows服务中使用的Exchange电子邮件帐户的凭据,windows-services,exchangewebservices,Windows Services,Exchangewebservices,我编写了一个Windows服务,它使用Microsoft.Exchange.WebServices(EWS)访问电子邮件帐户。当前,电子邮件帐户的凭据已硬编码在Windows服务的源代码中。我的问题是,就电子邮件的凭据而言,这里的最佳实践是什么?它应该保持原样吗?Windows服务的源代码中有硬编码吗?如果我们决定更改电子邮件的密码,那么我们必须更改服务的源代码。对最佳实践的任何见解都将不胜感激。我最近开发了一些simular。我们使用模拟ews。因此,您可以使用运行服务的凭据。 这就是它的工作

我编写了一个Windows服务,它使用Microsoft.Exchange.WebServices(EWS)访问电子邮件帐户。当前,电子邮件帐户的凭据已硬编码在Windows服务的源代码中。我的问题是,就电子邮件的凭据而言,这里的最佳实践是什么?它应该保持原样吗?Windows服务的源代码中有硬编码吗?如果我们决定更改电子邮件的密码,那么我们必须更改服务的源代码。对最佳实践的任何见解都将不胜感激。

我最近开发了一些simular。我们使用模拟ews。因此,您可以使用运行服务的凭据。 这就是它的工作原理。。。 您可以创建一个普通域用户,并为该用户设置模拟权限。--对不起,我是用手机写的,否则我会把链接发到msdn站点,但我相信你的搜索引擎会找到那个站点--- 然后设置service.UseDefaultCredentials=true和service.ImpersonatedUserID=new ImpersonationId(type.smtp,“the.mailaddress”)。of@your.mailbox.com") 因此,如果您将我的代码更正为真实语法,则不必存储任何密码。目标邮箱可以来自您喜欢的任何类型的配置。
希望这对你有帮助

如果您想使用一个帐户访问另一个帐户的详细信息,模拟是很好的;但这并不能解决我认为您存在的问题,因为您将需要提供冒充者的凭据,并且您将遇到相同的问题

除通过EWS外,您的服务是否访问数据?如果是的话,就用这个。 如果没有,请使用项目属性定义用户名、密码和域的应用程序设置;然后调整app.config

您可以在运行时通过以下方式访问设置: (C#)
Properties.Settings.Default.InterAcctDirectory
;或 (VB)
My.Settings