Как сделать преобразование web.config для smtp? - PullRequest
38 голосов
/ 29 марта 2011

У меня есть это в моем корне 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. Я действительно не уверен, как преобразовать еще.

Ответы [ 2 ]

61 голосов
/ 14 декабря 2011

Добавьте xdt:Transform="Replace" к вашему. Релизу

<system.net>
  <mailSettings>
    <smtp deliveryMethod="Network" xdt:Transform="Replace">
      <network host="smtp.mysite.com" userName="myuser" password="mypassword" />
    </smtp>
  </mailSettings>
</system.net>
3 голосов
/ 29 марта 2011

Вы можете использовать преобразование web.config в asp.net 4

вы бы написали правило преобразования, соответствующее локальному правилу, которое будет заменено при публикации вашего сайта в определенном преобразовании

здесь есть отличная информация

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

...