2013-03-13 3 views
4

Dans mon application MVC4, j'essaie d'envoyer du courrier à l'aide de Web.config pour les paramètres de configuration. J'ai papercut fonctionnant comme un faux serveur SMTP. Lorsque j'essaie d'utiliser smtpClient et de définir host = "localhost" dans mon code (c'est-à-dire, pas via Web.config) tout fonctionne très bien.smtpClient ne lit pas le fichier Web.config

Mon Web.config

<system.net> 
    <mailSettings> 
     <smtp deliveryMethod="Network" from="[email protected]"> 
     <network 
      host="localhost" 
      userName="" 
      password="" 
      defaultCredentials="true" /> 
     </smtp> 
    </mailSettings> 
    </system.net> 

Mon code

SmtpClient client = new SmtpClient(); 
client.Send(myEmailObject); 

L'erreur

L'hôte SMTP n'a pas été spécifié

+0

Il existe plusieurs web.config dans une application WPF. Avez-vous essayé de le mettre dans celui du répertoire racine de l'application? –

+0

C'est tellement vrai, je suis un $%^# s éditant le Web.config dans le dossier Views toute la nuit, me cognant la tête sur le clavier. THX! Pouvez-vous poster comme une réponse réelle afin que je puisse vous donner les félicitations et fermer ma question. (Je suis un peu gêné tu sais :) –

+0

Ajout de la réponse ... ne t'inquiète pas, j'ai vu plusieurs personnes faire la même erreur. Vous n'êtes pas seul :) –

Répondre

12

Il y a plusieurs années web.config dans un ASP. Application NET MVC. Pour que la plupart des paramètres liés au système prennent effet, ils doivent être placés dans la racine web.config de l'application. Cela signifie celui que le serveur voit comme "~/web.config" et qui se trouve dans le dossier racine de la solution Visual Studio.

+0

Je ne peux pas encore voter, car je n'ai pas encore assez de rep (signé hier). Je l'ai marqué comme la réponse absolument juste! Thx, encore une fois! –

Questions connexes