asp.net 成员控件(PasswordRecovery、CreateUserWizard)是否可以配置为在没有 SMTP 服务器的情况下工作?
Can asp.net membership controls (PasswordRecovery, CreateUserWizard) be configured to work without SMTP Server?
我们的 IT 人员希望从网站层删除 SMTP 访问,并通过对内部服务进行 Web 服务调用来发送来自网站的所有电子邮件,然后内部服务将直接通过 Exchange 服务器发送电子邮件。
有没有办法配置 PasswordRecovery 和 CreateUserWizard 控件,让我直接发送电子邮件(通过调用服务),而不是使用 web.config 中配置的 SMTP 设置自动发送?
我不想重写页面并直接使用 API,如果我可以将控件配置为按原样工作的话。否则,我认为我将不得不删除 PasswordRecovery 和 CreateUserWizard 并将它们替换为我自己的调用成员身份的控件 API.
我发现 CreateUserWizard
有一个活动 OnSendingMail
,可以订阅。设置 MailMessageEventArgs e.Cancel = true
会导致控件不发送电子邮件,但不会取消向导的工作流。所以我取消了电子邮件并将其发送到这里,而无需重写任何内容。
PasswordRecovery
我不得不重写。刚用会员API拿到MembershipUser
,打电话ResetPassword()
,直接用新密码发邮件
我们的 IT 人员希望从网站层删除 SMTP 访问,并通过对内部服务进行 Web 服务调用来发送来自网站的所有电子邮件,然后内部服务将直接通过 Exchange 服务器发送电子邮件。
有没有办法配置 PasswordRecovery 和 CreateUserWizard 控件,让我直接发送电子邮件(通过调用服务),而不是使用 web.config 中配置的 SMTP 设置自动发送?
我不想重写页面并直接使用 API,如果我可以将控件配置为按原样工作的话。否则,我认为我将不得不删除 PasswordRecovery 和 CreateUserWizard 并将它们替换为我自己的调用成员身份的控件 API.
我发现 CreateUserWizard
有一个活动 OnSendingMail
,可以订阅。设置 MailMessageEventArgs e.Cancel = true
会导致控件不发送电子邮件,但不会取消向导的工作流。所以我取消了电子邮件并将其发送到这里,而无需重写任何内容。
PasswordRecovery
我不得不重写。刚用会员API拿到MembershipUser
,打电话ResetPassword()
,直接用新密码发邮件