How To Add User's GUID To An Account Verification E-mail



Hi everyone,
So I have a problem that is more difficult that it might seem at first
glance. created. Any help/a clever "duh" answer would be great as we've
spent more than 8 hours trying to get this working.

Please see the following thread for the full details:

"How To Add User's GUID To An Account Verification E-mail - E-mail Working,
Error In Retreiving GUID"

http://forums.asp.net/p/1172523

----
am receiving an error when I try to retrieve a newly (and
successfully...checked the DB) registered users GUID to include in an account
verification e-mail. I am using the e-mail that is sent by the membership
provider, however I am adding an extra step for the user to verify their
account. The e-mail works fine as long as I don't try and use the user's
GUID. The verification of a user's account step uses a newly defined
placeholder (<% Username %> and <% Password %> are supported by default in
asp.net membership) in the .txt file that is the basis for the e-mail. I can
get the placeholder to replace fine in the e-mail, however I get an error
when I try to include the user's GUID in the e-mail.

Here are examples:
http://www.pcw.co.uk/personal-computer-world/features/2153686/membership-rules?page=3,
http://dotnetjunkies.com/WebLog/saravana/archive/2006/04/30/137645.aspx

Any help with fixing the error is appreciated. Thanks!



Error

System.NullReferenceException was unhandled by user code
Message="Object reference not set to an instance of an object."
Source="App_Web_rih02pg9"
StackTrace:
at signup.CreateUserWizard1_SendingMail(Object sender,
MailMessageEventArgs e) in C:\Documents and Settings\Owner\My
Documents\Visual Studio 2005\WebSites\Test\Signup.aspx.vb:line 81
at
System.Web.UI.WebControls.CreateUserWizard.OnSendingMail(MailMessageEventArgs
e)
at System.Web.UI.WebControls.LoginUtil.SendPasswordMail(String email,
String userName, String password, MailDefinition mailDefinition, String
defaultSubject, String defaultBody, OnSendingMailDelegate
onSendingMailDelegate, OnSendMailErrorDelegate onSendMailErrorDelegate,
Control owner)


Protected Sub CreateUserWizard1_SendingMail(ByVal sender As Object,
ByVal e As System.Web.UI.WebControls.MailMessageEventArgs) Handles
CreateUserWizard1.SendingMail
Dim tempMem As MembershipUser =
Membership.GetUser(CreateUserWizard1.UserName)

'Replace placeholder for the verification URL
e.Message.Body = Replace(e.Message.Body, "<% VerifyURL %>",
"http://www.test.com/VerifyAccount.aspx?key="; &
tempMem.ProviderUserKey.ToString) ' Error occurs on this line
'Line below will work and replace the placeholder in the e-mail file
'e.Message.Body = e.Message.Body.Replace("<% VerifyURL %>",
"http://www.test.com/VerifyAccount.aspx?key=123)

End Sub Protected Sub CreateUserWizard1_SendingMail(ByVal sender As
Object, ByVal e As System.Web.UI.WebControls.MailMessageEventArgs) Handles
CreateUserWizard1.SendingMail
Dim tempMem As MembershipUser =
Membership.GetUser(CreateUserWizard1.UserName.ToString)
MsgBox(tempMem.ProviderUserKey.ToString) ' Will return error here

'Replace placeholder for the verification URL
e.Message.Body = Replace(e.Message.Body, "<% VerifyURL %>",
"http://www.test.com/VerifyAccount.aspx?key="; &
tempMem.ProviderUserKey.ToString) ' Error occurs on this line
'Line below will work and replace the placeholder in the e-mail file

'e.Message.Body = e.Message.Body.Replace("<% VerifyURL %>",
"http://www.test.com/VerifyAccount.aspx?key=123)
End Sub
.



Relevant Pages

  • RE: How To Add Users GUID To An Account Verification E-mail
    ... I am using the e-mail that is sent by the membership ... String userName, String password, MailDefinition mailDefinition, String ... defaultSubject, String defaultBody, OnSendingMailDelegate ... Protected Sub CreateUserWizard1_SendingMail(ByVal sender As Object, ...
    (microsoft.public.dotnet.framework.aspnet.security)
  • Re: This should never work but it does. Why?
    ... "TVR Fan" wrote in message ... > I've just fixed what should be a bug in a simple function to log a message ... > Protected Sub LogMessage(ByVal filename As String, ...
    (microsoft.public.dotnet.languages.vb)
  • Re: Create dynamically LinkButton controls and EventHandlers
    ... first you need to make sure that the form has the runat attribute set ... to Server, which is the default. ... Then you need a placeholder, such as a DIV, ... Protected Sub LinkButton_Click(ByVal sender As Object, ...
    (microsoft.public.dotnet.general)
  • Whats Happening When I Click Refresh?
    ... The parameter for the underlying query is a session variable populated when the button was clicked. ... Protected Sub Page_InitCompleteHandles Me.InitComplete ... Me.txtQuickSearch.Text = CType, String) ... SetPagingLabels() ...
    (microsoft.public.dotnet.framework.aspnet)
  • Calendar Date Format
    ... Trying to get this format returned when selecting a date on a calendar ... Protected Sub Calendar1_SelectionChanged(ByVal sender As Object, ... Dim selection As String = Format, ...
    (microsoft.public.dotnet.languages.vb)