or
<%@ Page Language="VB" Title="Password Recovery" MasterPageFile="~/Default.master" Theme="Default" AutoEventWireup="false" CodeFile="PasswordRecovery.aspx.vb" Inherits="PasswordRecovery" %><asp:Content ID="Content1" ContentPlaceHolderID="navigationcontent" Runat="Server"> <a class="navigationitem" href="default.aspx">Home</a></asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="body" Runat="Server"> <div class="contentbox1" style="width: 350px;"> <h2>Password Recovery</h2> <div class="contentbox2"> <asp:literal ID="litins" runat="server" Text="Enter your email to receive password recover information.<br /><br />" /> <div class="contentbox3"> <asp:Panel ID="pan1" runat="server"> <div> <asp:ValidationSummary ID="ValidationSummary1" runat="server" ValidationGroup="SubmitInfo" EnableClientScript="False" HeaderText="Please correct the following errors:" /> </div> <table border="0" cellpadding="2" cellspacing="2"> <tr> <td>Email:</td> <td> <asp:TextBox ID="txtemail" runat="server" Width="200px" /> <asp:RequiredFieldValidator ID="rfv1" runat="server" EnableClientScript="false" ValidationGroup="SubmitInfo" ControlToValidate="txtemail" ErrorMessage="Please fill in email." Display="Dynamic" Text="*"/><asp:CustomValidator ID="cvEmail" runat="server" ErrorMessage="Email does not exist in the system." Display="Static" ControlToValidate="txtEmail" Text="*" ValidationGroup="SubmitInfo" ValidateEmptyText="false" EnableClientScript="false"></asp:CustomValidator> </td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> <telerik:RadCaptcha ID="radc1" runat="server" CaptchaImage-BackgroundNoise="Medium" CaptchaImage-FontWarp="Medium" CaptchaImage-LineNoise="Low" CaptchaImage-TextLength="6" Enabled="true" CssClass="captcha" EnableRefreshImage="true" IgnoreCase="true" Visible="true" ToolTip="Code is not case sensitive" CaptchaTextBoxLabel="<br />Type the code from the image<br />(not case sensitive)<br />" CaptchaImage-TextChars="Letters" BorderStyle="Solid" BorderWidth="1" BorderColor="#0099CC" CaptchaImage-CharSet="ABCDEFGHJKLMNOPQRSTUVWXYZ" CaptchaImage-UseRandomFont="False" ValidationGroup="SubmitInfo" ErrorMessage="The code you entered is not valid." Display="None"/> </td> </tr> <tr> <td colspan="2" align="right"> <asp:Button ID="btnsubmit" runat="server" text="Send" ValidationGroup="SubmitInfo" CausesValidation="true" /> </td> </tr> </table> </asp:Panel> <asp:Panel ID="pan2" runat="server" Visible="false"> <div style="padding:20px 0px 20px 0px;"> An email has been sent. Please follow the instructions in the email to recover your password. </div> </asp:Panel> </div> </div> </div> <div style="clear: both;"></div> <!-- Begin DigiCert/ClickID site seal HTML and JavaScript --><div id="DigiCertClickID_OzSLC-hR" data-language="en_US" style="width: 100px; margin: 5px 5px 5px auto;"> <a href="http://www.digicert.com/ev-ssl-certification.htm">SSL Certificates</a></div><script type="text/javascript"> var __dcid = __dcid || []; __dcid.push(["DigiCertClickID_OzSLC-hR", "7", "m", "black", "OzSLC-hR"]); (function () { var cid = document.createElement("script"); cid.async = true; cid.src = "//seal.digicert.com/seals/cascade/seal.min.js"; var s = document.getElementsByTagName("script"); var ls = s[(s.length - 1)]; ls.parentNode.insertBefore(cid, ls.nextSibling); } ());</script><!-- End DigiCert/ClickID site seal HTML and JavaScript --> <div style="clear: both;"></div></asp:Content>Partial Class PasswordRecovery Inherits System.Web.UI.Page Sub clickhere(ByVal sender As Object, ByVal e As EventArgs) Handles btnsubmit.Click Dim mm As Net.Mail.MailMessage = New Net.Mail.MailMessage() Dim smtpClient As Net.Mail.SmtpClient = New Net.Mail.SmtpClient() Dim body As String = "" Dim group As String = "" Dim toadd As Net.Mail.MailAddress Dim catchaText Try toadd = New Net.Mail.MailAddress(txtemail.Text) cvEmail.IsValid = True Catch ex As Exception cvEmail.IsValid = False 'lblerror.Visible = True 'lblerror.Text = "Invalid Email" Exit Sub End Try Dim mu As MembershipUser Dim userName As String = "" Try userName = Membership.GetUserNameByEmail(txtemail.Text) mu = Membership.GetUser(userName) cvEmail.IsValid = True Catch ex As Exception cvEmail.IsValid = False 'lblerror.Visible = True Exit Sub End Try Dim ut As New UserToken ut.UserID = mu.ProviderUserKey ut.DateIssued = Now ut.Token = Guid.NewGuid ut.AddUserToken() Dim expdate As DateTime = ut.DateIssued.AddHours(48) Dim fromadd As New Net.Mail.MailAddress("Password-Recovery@wishfamilyjournal.org") Dim fromaddress As String = ConfigurationManager.AppSettings("ServerSendAddress").ToString mm = New Net.Mail.MailMessage(fromadd, toadd) mm.Subject = "WISH Family Journal Password Recovery" mm.Body = "A request to change your password has been issued.<br/><br/>" & _ "Please <a href='" & ConfigurationManager.AppSettings("SiteUrl").ToString & "passwordreset.aspx?token=" & ut.Token.ToString & "'>CLICK HERE TO CHANGE YOUR PASSWORD</a><br/><br/>" & _ "This link is only valid for 48 hours (" & expdate.ToShortDateString & " " & expdate.ToShortTimeString & "). If you did not request a password change please ignore this email<br/><br/>" & _ "If you have any problems or questions please respond to this email.<br/><br/>" & _ "Thank you<br/>" & _ "WISH Family Journal Administrator" mm.IsBodyHtml = True smtpClient.Timeout = 5000 smtpClient.Send(mm) mm.Dispose() pan1.Visible = False pan2.Visible = True litins.Visible = False End Sub End Class