我使用的是一个CreateUserWizard,如果在它上面创建了一个MailDefinition,它将查找在配置部分中定义的默认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对象发送邮件呢?
谢谢!
发布于 2010-01-13 01:08:55
处理CreateUserWizard的OnSendingMail事件。
在事件处理程序中,使用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.
}希望这能有所帮助!
https://stackoverflow.com/questions/2050375
复制相似问题