可以将asp.net成员资格控件(PasswordRecovery,CreateUserWizard)配置为在没有SMTP服务器的情况下工作吗?

时间:2015-07-15 21:47:33

标签: asp.net email asp.net-membership password-recovery createuserwizard

我们的IT人员希望从网站层删除SMTP访问权限,并通过向内部服务进行Web服务调用来发送来自网站的所有电子邮件,然后内部服务将直接通过Exchange服务器发送电子邮件。

有没有办法配置PasswordRecovery和CreateUserWizard控件让我直接发送电子邮件(通过调用服务),而不是让它使用web.config中配置的SMTP设置自动发送?

如果我可以将控件配置为按原样运行,我不想重写页面并直接使用API​​。否则我想我必须拿出PasswordRecovery和CreateUserWizard并用我自己的控件替换它们,这些控件调用了Membership API。

1 个答案:

答案 0 :(得分:1)

我发现CreateUserWizard有一个可以订阅的事件OnSendingMail。设置MailMessageEventArgs e.Cancel = true会导致控件不发送电子邮件,但不会取消向导的工作流程。所以我取消了电子邮件并将其发送到此处,而无需重写任何内容。

PasswordRecovery我不得不重写。只需使用会员资格API获取MembershipUser,致电ResetPassword(),然后直接发送包含新密码的电子邮件。