Send "Forgot password" reminder via email
am 30.12.2007 15:01:37 von groupie
Hi,
I'd like to know how to implement the "Forgot Password" feature on
many websites which require a login, exactly like this ebay example:
http://cgi4.ebay.com/ws/eBayISAPI.dll?UserIdRecognizerShow
I've already retrieved the users password from the database - I just
need to send it to the email address entered.
From reading many posts, I need a server-side script and rather not
use form mailto: nor use javascript on the users PC.
Any help/pointers appreciated.
Re: Send "Forgot password" reminder via email
am 30.12.2007 15:48:38 von Anthony Jones
"groupie" wrote in message
news:f2e4c2dc-33ce-447a-9200-4469353cfd3f@75g2000hsv.googleg roups.com...
> Hi,
> I'd like to know how to implement the "Forgot Password" feature on
> many websites which require a login, exactly like this ebay example:
> http://cgi4.ebay.com/ws/eBayISAPI.dll?UserIdRecognizerShow
>
> I've already retrieved the users password from the database - I just
> need to send it to the email address entered.
>
> From reading many posts, I need a server-side script and rather not
> use form mailto: nor use javascript on the users PC.
>
> Any help/pointers appreciated.
You are right you would never want any response going back to the client
that contained the password.
The email address should have been registered and verified as part of the
account set up and therefore held in the DB already. The email address that
you send should only be the one verified for the user account. Thus no one
can impersonate a UserID and have the password sent to a different email
address.
Having pulled the email address and password from the DB you can use the
following to send an email:-
Sub SendPassword(rsEmail, rsPassword)
Dim oMsg : Set oMsg = Server.CreateObject("CDO.Message")
oMsg.To = rsEmail
oMsg.Subject = "Your password"
oMsg.HTMLBody = "" & rsPassword & ""
Set oMsg.Configuration = GetConfig() 'delete if server already configured
oMsg.Send
End Sub
Function GetConfig()
Set GetConfig = Server.CreateObject("CDO.Configuration")
With GetConfig.Fields
.Item("http://schemas.microsoft.com/cdo/configuration/sendus ing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpse rverport") = 25
.Item("http://schemas.microsoft.com/cdo/configuration/smtpse rver") =
"yourserver"
.Update
End With
End Function
Note that in GetConfig you need to replace "yourserver" with an SMTP server
name that your Web server can use to send email. Alternative your site may
be configured via IIS manager with these values, in which case you can
delete the GetConfig stuff altogether.
--
Anthony Jones - MVP ASP/ASP.NET