2015-03-15 1 views
0

Je tente de déplacer mes paramètres de courrier électronique vers la configuration Web, mais je ne sais pas comment appeler le paramètre depuis la configuration Web.Déplacement du paramètre de messagerie électronique vers la configuration Web

Ceci est mon newpassword réglage webconfig:

<system.net> 
    <mailSettings> 
    <smtp deliveryMethod="Network" from="&quot;testo&quot; &lt;[email protected]&gt;" > 
     <network host="mail.test.com" userName="[email protected]" password="waiff75E-" port="25"/> 
    </smtp> 
    </mailSettings> 
</system.net> 

Et voici mon code précédent

const string username = "[email protected]"; 
const string password = "password"; 
SmtpClient smtpclient = new SmtpClient(); 
MailMessage mail = new MailMessage(); 
MailAddress fromaddress = new MailAddress("[email protected]", loggedinUser.Text + "test"); 
smtpclient.Host = "mail.test.com"; 
smtpclient.Port = 25; 
mail.From = fromaddress; 
mail.To.Add(userEmail.Text); 
mail.Subject = ("New post on your wall from " + loggedinUser.Text + " "); 
// mail.Attachments.Add(new mail); 
mail.IsBodyHtml = true; 
mail.Body = ""; 
+0

Si vous spécifiez tous les paramètres dans web.config. Encore une fois pas besoin de définir dans le code. Vérifiez cela pour web.config - https://msdn.microsoft.com/en-us/library/ms164242%28v=vs.110%29.aspx – malkam

Répondre

0

Dans votre webconfig

</connectionStrings> 
    <appSettings> 
     <add key="webpages:Version" value="3.0.0.0" /> 
     <!-- Markup removed for clarity. --> 

     <add key="mailAccount" value="xyz" /> 
     <add key="mailPassword" value="password" /> 
    </appSettings> 
    <system.web> 

Référence en C# via

var credentials = new NetworkCredential(
      ConfigurationManager.AppSettings["mailAccount"], 
      ConfigurationManager.AppSettings["mailPassword"] 
      ); 

Ce employais this identity tutorial

2

Retirez les lignes de lignes suivantes puisque vous voulez que vos paramètres dans le fichier web.config pour le conduire du point de vue de la configuration.

smtpclient.EnableSsl = false; 
smtpclient.DeliveryMethod = SmtpDeliveryMethod.Network; 
smtpclient.Credentials = new System.Net.NetworkCredential(username, password); 
smtpclient.Send(mail); 

Et il suffit d'appeler la méthode Send sur le SmtpClient

smtpclient.Send(mail); 

Toutes les précédentes préoccupations sont configurées dans votre fichier web.config, comme vous l'avez fait. (Copie verbatim)

<system.net> 
    <mailSettings> 
    <smtp deliveryMethod="Network" from="&quot;testo&quot; &lt;[email protected]&gt;" > 
     <network host="mail.test.com" userName="[email protected]" password="waiff75E-" port="25"/> 
    </smtp> 
    </mailSettings> 
</system.net> 
+0

merci, comment puis-je supprimer l'e-mail du code C# et l'appeler à partir du Web config – Jack

+0

@Jack J'ai mis à jour la réponse pour élaborer sur les détails. En résumé, n'essayez pas de remplacer les détails de votre 'SmtpClient' via le code C#; reportez-le au fichier 'web.config' pour le récupérer. –