电子邮件服务器的当前设置被签入版本控制。
<configuration>
<system.net>
<mailSettings>
<smtp deliveryMethod="network">
<network host="..." port="25" password="..." userName="..." />
</smtp>
</mailSettings>
</system.net>
</configuration>我想从版本控制中删除(至少是密码),这样其他开发人员就不能(偶然地)通过我们的邮件服务器发送邮件。
我们的出站电子邮件使用SAAS提供者,因此我不能通过设置防火墙来限制对此服务器的访问。唯一的身份验证是使用SAAS提供者提供的用户名和密码。
是否可以从Azure中的应用程序设置刀片设置mailSettings。通过这种方式,我可以从版本控制中删除密码,并且不需要在(自动)部署时手动更新web.config。
发布于 2017-03-17 01:43:47
正如您所提到的,您正在使用邮政。在他们的GitHub上,我注意到您可以提供一个创建SmtpClient的函数。
从那里开始,您可以创建将使用应用程序设置构建的自定义SmtpClient:
var smtpServerHost = CloudConfigurationManager.GetSetting("SmtpServerHost");
var smtpServerPort = int.Parse(CloudConfigurationManager.GetSetting("SmtpServerPort"));
var smtpServerUserName = CloudConfigurationManager.GetSetting("SmtpServerUserName");
var smtpServerPassword = CloudConfigurationManager.GetSetting("SmtpServerPassword");
var client = new SmtpClient(smtpServerHost, smtpServerPort);
client.Credentials = new NetworkCredential(smtpServerUserName, smtpServerPassword);这样,您就可以在Azure应用程序服务的应用程序设置中修改您的电子邮件设置。
https://stackoverflow.com/questions/42828659
复制相似问题