如何从 Azure 应用服务设置 mailSettings - 应用程序设置

Waa*_*als 6 deployment web-config azure

电子邮件服务器的当前设置已签入版本控制。

<configuration>
  <system.net>
    <mailSettings>
      <smtp deliveryMethod="network">
        <network host="..." port="25" password="..." userName="..." />
      </smtp>
    </mailSettings>
  </system.net>
</configuration>
Run Code Online (Sandbox Code Playgroud)

我想从版本控制中删除(至少是密码),以便其他开发人员无法(意外地)通过我们的邮件服务器发送邮件。

我们使用 SAAS 提供商来处理出站电子邮件,因此我无法通过设置防火墙来限制对此服务器的访问。唯一的身份验证是使用 SAAS 提供商提供的用户名和密码。

是否可以从 Azure 中的应用程序设置边栏选项卡设置 mailSettings。这样我就可以从版本控制中删除密码,并且不需要在(自动)部署时手动更新 web.config。

Viv*_*ier 4

正如您提到的,您正在使用邮政。在他们的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);
Run Code Online (Sandbox Code Playgroud)

这样,您就可以在 Azure 应用服务的应用程序设置中修改电子邮件设置。