我有一个页面上的ASP PasswordRecovery模块,代码出现这样的:ASP PasswordRecovery不工作
<asp:PasswordRecovery ID="PasswordRecovery1" runat="server">
<MailDefinition From="[email]">
</MailDefinition>
</asp:PasswordRecovery>
然而,当我提交表单我刚刚得到的消息,“我们无法访问您的信息,请重试。“
我看到this question,并确保这些属性添加到这里我的web.config:因为应用程序全天定期发送电子邮件
<providers>
<remove name="CustomizedMembershipProvider"/>
<add name="CustomizedMembershipProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="MessageBank"
applicationName="MessageBank"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0"
requiresQuestionAndAnswer="false"
enablePasswordReset="true"
enablePasswordRetrieval="false" />
</providers>
电子邮件是工作的罚款。但由于某些原因,它不会发送恢复电子邮件。
下面是相关的web.config部分:
<mailSettings>
<smtp from="[email]">
<network host="[host]" password="[password]" userName="[username]"/>
</smtp>
</mailSettings>
更新:我添加了一个函数来处理“SendingMail”事件:
Protected Sub PasswordRecovery_submit(ByVal sender As Object, ByVal e As WebControls.MailMessageEventArgs) Handles PasswordRecovery.SendingMail
我在此功能中增加了一个破发点,但它永远不会到达,上面的错误消息只是在应用程序中出现。任何其他方式来调试出了什么问题?
是的。正如问题中指出的那样,电子邮件工作正常,应用程序每天发送数十个邮件。我编辑了我的问题发布该部分,密码恢复所需的那些其他属性? – DisgruntledGoat 2010-06-25 13:46:31
在进一步的调查中,我意识到我们有一个特殊的功能是发送电子邮件,所以我假定默认的电子邮件系统不工作。有没有办法调用我的自定义函数?如上所述,该应用程序在错误发生之前没有进入PasswordRecovery.SendingMail。 – DisgruntledGoat 2010-06-25 15:14:24
@DisgruntledGoat:你可以做的一件事就是将SMTP元素放入你的web.config文件中,如图所示,使用虚拟值。然后,您可以挂钩“SendingMail”事件,您可以取消该事件以取消默认邮件行为,也可以提供自己的自定义电子邮件逻辑。我知道你说应用程序没有将它发送到“SendingMail”事件,但可能是因为您尚未在yor web.config中声明它所依赖的“MailSettings”元素? – 2010-06-25 16:35:09