2010-01-12 2 views
0

Я использую CreateUserWizard, который, если MailDefinition создан на нем, будет искать SMTPClient по умолчанию, как определено в разделе конфигурации.Пытается извлечь из SMTPClient

Я хотел бы использовать этот раздел конфигурации, однако пароль, который я хочу использовать, зашифрован.

Я пытаюсь извлечь из SmtpClient (рекомендуется другим щедрым плакатом в предыдущем вопросе) моя попытка реализации ниже:

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

я до сих пор не получил эту часть работы - но когда я делаю - как это сделать, чтобы CreateUserWizard использовал мой производный объект для отправки почты по сравнению с объектом SMTPClient по умолчанию?

Спасибо!

ответ

2

Рука OnSendingMail Событие CreateUserWizard.

В обработчик событий, используйте MySmtpClient и отменить клиент по умолчанию, установив 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. 
    } 

Надеется, что это помогает!

+0

Небольшое улучшение: 'new MySmtpClient(). Отправить (e.Message);' –

Смежные вопросы