Add a mail definition to your CreateUserWizard:
<maildefinition bodyfilename="~/Docs/NewUserEmailBody.txt">
CC="postmaster@mysite.com" From="postmaster@mysite.com"
Subject="Welcome to my site">
</maildefinition>
Now, the NewUserEmailBody.txt has your email with <placeholders> for actual values.
<![CDATA[<%NEWUSERID%>]]>
is one field. All fields in your email will get replaced automatically and the email will also be sent automatically. You don't need to do anything else except change your ASP code to what I showed you and then write the email with placeholders. Here is the example from mine. Mine does not have an activation page but you can see the other available replacement fields.
Welcome to mysite.
User id: <%UserName%> <br />
Password key: <%Password%>
"Thanks for your interest in mysite. We welcome you to our family!"
In your activation page, do something like:
protected void Page_Load(object sender, EventArgs e)
{
Guid oGuid = new Guid(Request.QueryString["ID"]);
MembershipUser oUser = Membership.GetUser(oGuid);
if (oUser != null && oUser.IsApproved == false)
{
oUser.IsApproved = true;
Membership.UpdateUser(oUser);
System.Web.Security.FormsAuthentication.RedirectFromLoginPage(oUser.UserName, false);
}
}