I think you would be best off with a 3rd page that only exists for the purpose of being your email page.
So that the 1st page is your HTML form, the 2nd is your "processing" page, and the 3rd page is your letter.
Then you'd do something like:
[tt]
'Get form values
var1 = Request.Form("var1")
var2 = Request.Form("var2")
var3 = Request.Form("var3")
'Use defaults if user skipped fields
If (len(var1) = 0) then var1 = "Special Customer"
If (len(var2) = 0) then var2 = "our products"
'Return to form if required field was skipped
If (len(var2) = 0) then Response.Redirect "MyForm.htm"
'Make email now
<< other cdo details omitted >>
oCDO.CreateMHTMLBody "letter.asp?v1=" & var1 & "&v2=" & var2 & "&v3=" & var3
[/tt]
So then you would have a letter.asp page like this:
[tt]
<html>
<head>
<title>
My HTML Email Page
</title>
</head>
<body>
Dear <%= Request.QueryString("v1")%>,
<br/><br/>
This message is to inform you of great savings on
<%= Request.QueryString("v2")%>.
Please visit one of our stores and spend a lot of money.
<br/><br/>
Sincerly,
<br/>
<%= Request.QueryString("v3")%>
</body>
</html>
[/tt]