如何为 smtp 进行 web.config 转换?

Posted

技术标签:

【中文标题】如何为 smtp 进行 web.config 转换?【英文标题】:How to do a web.config transform for smtp? 【发布时间】:2011-07-24 19:39:27 【问题描述】:

我的根 web.config 中有这个

 <mailSettings>
     <smtp from="no-reply@test.com" deliveryMethod="SpecifiedPickupDirectory">
         <specifiedPickupDirectory pickupDirectoryLocation="C:\temp"/>
         <network host="localhost"/>
     </smtp>
 </mailSettings>

当然,当我把它放到我的托管服务器上时,我不希望它保存到硬盘上,我希望它发送电子邮件。

所以我会有这样的东西

<system.net>
  <mailSettings>
    <smtp deliveryMethod="Network">
      <network host="smtp.mysite.com" userName="myuser" password="mypassword" />
    </smtp>
  </mailSettings>
</system.net>

我怎么能把它放在我的 web.release.config 中?我应该只替换mailSettings。我还不确定如何进行转换。

【问题讨论】:

【参考方案1】:

xdt:Transform="Replace" 添加到您的.release

<system.net>
  <mailSettings>
    <smtp deliveryMethod="Network" xdt:Transform="Replace">
      <network host="smtp.mysite.com" userName="myuser" password="mypassword" />
    </smtp>
  </mailSettings>
</system.net>

【讨论】:

Octopus deploy 无法运行此转换。它仅适用于 appSettings 和 connectionStrings。你知道这是否适用于 Octopus 部署? Octopus deploy 现在能够执行这个转换,刚刚测试过【参考方案2】:

您可以在 asp.net 4 中使用 web.config 转换

当您在特定转换中发布网站时,您将编写一个转换规则来匹配要替换的本地规则

这里有一些很棒的信息

http://blog.hmobius.com/post/2010/02/17/ASPNET-40-Part-4-Config-Transformation-Files.aspx (Archived version)

【讨论】:

对不起,是的,我知道转换我想知道如何去做。我会研究那篇文章。 @chobo2 文章确实包含如何操作,所以请接受@stack72 asnwer 链接页面确实有答案。 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。 aaa 链接现在失效了。正如预测的那样。

以上是关于如何为 smtp 进行 web.config 转换?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 SMTP 配置 Django 和 G Suite

如何为 microk8s grafana 设置 SMTP(prometheus 插件)

如何在 web.config 中配置 SMTP 设置

使用c#从Web.Config文件访问SMTP邮件设置

如何从 Web.config 读取 system.net/mailSettings/smtp

有没有办法在 Web.config 文件的 smtp 元素中包含电子邮件地址“显示名称”? [复制]