【问题标题】:ASP.NET Membership provider password in email replace电子邮件中的 ASP.NET 成员资格提供程序密码替换
【发布时间】:2017-08-31 20:17:03
【问题描述】:

我们使用内置的 asp.net 会员提供程序来处理用户帐户。提供商创建的默认临时密码对我们的用户来说有点过于复杂,所以我使用下面的代码生成了一个更容易键入的密码,以便他们可以重置密码。它可以完美地生成新密码,并且会员提供者正在使用它而不是复杂的密码。

这是我的问题所在:当用户请求临时密码时,应用程序会将其通过电子邮件发送给他们。我正在尝试用我正在生成的密码替换临时密码。您可以在下面的屏幕截图中看到我生成的密码附加到电子邮件的底部,但我无法将 替换为我的新密码。我错过了什么?

 Public Sub PasswordRecovery1_SendingMail(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.MailMessageEventArgs) Handles PasswordRecovery1.SendingMail
    Dim User As MembershipUser = Membership.GetUser(PasswordRecovery1.UserName)
    Dim msg As String = e.Message.Body 

    Dim oldpswd As String = User.ResetPassword()
    Dim newpass As String = GetPassword()

    msg.Replace("<%Password%>", newpass)

    msg += "<p>Your new password is: " & newpass & "</p>"
    User.ChangePassword(oldpswd, newpass)

    e.Message.Body = msg
End Sub

Email Template I'd like to update with newpass

Email that goes to user still has old password and new one at the bottom

【问题讨论】:

  • 添加了我正在尝试使用新密码更新的电子邮件模板的图像。

标签: asp.net vb.net


【解决方案1】:

在我的模板中将“”替换为“”,然后将 msg 分配更改为以下内容,并在电子邮件中正确替换它。

msg = msg.Replace("<-TemporaryPasswordArea>", newpass)

【讨论】:

    猜你喜欢
    • 2011-03-09
    • 2010-09-30
    • 2012-06-12
    • 2022-12-31
    • 1970-01-01
    • 2012-05-01
    • 2010-11-15
    • 1970-01-01
    • 2011-07-26
    相关资源
    最近更新 更多