2010-01-12 10 views
0

J'utilise un CreateUserWizard qui, si un MailDefinition est créé, recherchera le SMTPClient par défaut tel que défini dans la section de configuration.Essayer de dériver à partir de SMTPClient

Je voudrais utiliser cette section de configuration, mais le mot de passe que je veux utiliser est crypté.

Je cherche à tirer de smtpclient (recommandé par une autre affiche généreuse question précédente) ma tentative de mise en œuvre est la suivante:

public class MySmtpClient: SmtpClient 
    { 
     public MySmtpClient() : base() 
     { 
      MySmtpClient mySmtpClient = new MySmtpClient(); 
      NetworkCredential nc = CredentialCache.DefaultNetworkCredentials; 
      nc.Password = DecryptMyPassword(nc.Password); 
      mySmtpClient.Credentials = nc; 

Je n'ai toujours pas obtenu que le travail partiel - mais quand je fais - comment faire pour que le CreateUserWizard utilise mon objet dérivé pour envoyer le courrier par rapport à l'objet SMTPClient par défaut?

Merci!

Répondre

2

Handle OnSendingMail événement de CreateUserWizard.

Dans le gestionnaire d'événements, utilisez MySmtpClient et annuler le client par défaut en e.Cancel = true;

protected void CreateUserWizard_SendingMail(object sender, MailMessageEventArgs e) 
    { 
     //cancel default handling. 
     e.Cancel = true; 

     MySmtpClient myClient = new MySmtpClient(); 
     //fill details and send mail. 
    } 

Hope this helps!

+0

Petite amélioration: 'nouveau MySmtpClient(). Send (e.Message);' –

Questions connexes