Passwords cannot be retrieved because they are encrypted in the database. You would need to reset the password and instruct the user to login using the temporary password and change it. Here is how you can do it.
1) Define a non-persistent object ForgottenPassword with attributes LoginName and NewPassword, both of type Plain Text.
2) Make sure attribute NewPassword is not shown on ForgottenPassword form.
3) Define ForgottenPasswordEmail email notification to be sent to the user.
4) Add text to the initial value of attribute ForgottenPasswordEmail.Message instructing the user what to do, for example:
Dear <<Member.FirstName>>,
Your new password is: <<ForgottenPassword.NewPassword>>
Please login to the system and change your password.
5) Define a process like this:
ENTER NEW ForgottenPassword
If NOT(EXISTS Member WHERE (Member.LoginName = ForgottenPassword.LoginName)) Then REPORT ERROR 'User not found'
FIND Member WHERE Member.LoginName = ForgottenPassword.LoginName
ForgottenPassword.NewPassword = RANDOM()
Member.Password = ForgottenPassword.NewPassword
SEND ForgottenPasswordEmail TO Member
DISPLAY MESSAGE 'Your password has been sent to your email address'
This assumes that Member is an intelligent object and that users provide a valid email address when registering. The email will be sent to the address stored in Member.EmailAddress attribute.
6) Add a menu item (or a hyperlink on your custom home page/banner) for the user to start the process.