0

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

4

2 回答 2

0

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

于 2013-10-02T21:41:12.677 回答
0

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

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

您可以使用以下命令在运行时访问设置: (C#) Properties.Settings.Default.InterAcctDirectory; 或 (VB)My.Settings

于 2013-10-15T07:46:15.423 回答