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

时间:2017-03-16 08:20:45

标签: azure deployment web-config

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

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

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

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

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

1 个答案:

答案 0 :(得分:3)

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