如何从 Azure App Service 设置 mailSettings - 应用程序设置

How to set mailSettings from Azure App Service - Application settings

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

<configuration>
  <system.net>
    <mailSettings>
      <smtp deliveryMethod="network">
        <network host="..." port="25" password="..." userName="..." />
      </smtp>
    </mailSettings>
  </system.net>
</configuration>

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

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

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

如您所述,您使用的是邮政。在他们的 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 应用服务的应用程序设置中修改您的电子邮件设置。