Bem lá vai o cód todo da pág. <% 'Aqui conectamos com a Base de Dados Set Conn = Server.CreateObject("ADODB.Connection") Set rs = Server.CreateObject("ADODB.Recordset") Conn.Open "DBQ=" & Server.MapPath("./postaisdigitais.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;MaxBufferSize=8192;Threads=20;", "username", "password" ' Esta é a variável usada como identificador ' do postal digital Dim identifier ' goby é uma variável boolean para ' ajuda na validação Dim goby goby = 1 'lets start it with True %> <html><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <body bgcolor=white> <font face=3D"Arial"> <small><strong> <% ' Validamos então o nome; tem de ter um tamanho ' mínimo de 2 caracteres if len(session("nomepara")) < 2 then ' se existir problemas marcamos logo a nossa variável goby = 0 end if if len(session("nomede")) < 2 then goby = 0 end if ' validamos o email, If Len(session("emailde")) <= 5 Then goby = 0 Else If InStr(1, session("emailde"), "@", 1) < 2 Then goby = 0 Else If InStr(1,session("emailde"), ".", 1) < 4 Then goby = 0 End If End If End If If Len(session("emailpara")) <= 5 Then goby = 0 Else If InStr(1, session("emailpara"), "@", 1) < 2 Then goby = 0 Else If InStr(1,session("emailpara"), ".", 1) < 4 Then goby = 0 End If End If End If ' Aqui verificamos se o texto não tem mais de 500 caracteres. If len(session("message")) >= 500 Then goby = 0 End If ' Vamos agora verificar a nossa variável ' se estiver a zeros avisamos que hà erros if goby = 0 then %> <br><br><br><br><br> <center>ERRO....</center><br> <% end if ' Se não hà erros introduzimos a informação para a Base de Dados ' e enviamos a informação por email para o destinatário If goby = 1 then 'fazemos o update à Base de Dados SQLStmt = "INSERT INTO postal (" & _ "passw_postal, postal_postal, nomepara_postal, nomede_postal, " & _ "emailde_postal, emailpara_postal, mensagem_postal, data_postal) " & _ "VALUES (" ' vamos criar um número aleatório para que o postal fique protegido, ' usamos o randomize/rnd para criar um número aleatório randomize() passw = Int((9999-1)*Rnd + 1) SQLStmt = SQLStmt & passw & ",'" & session("postal") & _ "','" & session("nomepara") & "','" & _ session("nomede") & "','" & _ session("emailde") & "','" & _ session("emailpara") & "','" & _ session("message") & "',Now)" ' escrevemos a informação na BD definitivamente rs.Open SQLStmt, Conn, 3, 3 SQLStmt = "Select max(id_postal) AS maximo from postal" rs.Open SQLStmt, Conn, 1, 2 ident = rs("maximo") ' Vamos aqui usar o componente ASPMail ' pode usar um outro qualquer, este é o que é usado ' no servidor ond estamos Set Mailer = Server.CreateObject("SMTPsvg.Mailer") Mailer.RemoteHost = "mail.pt4free.net" Mailer.FromName = "O Site" Mailer.FromAddress = "vipseven@vipseven.com.br" Mailer.AddRecipient " ", session("emailpara") Mailer.Subject = "Envio de Postal Digital para si de " & session("nomede") & " ..." ' vamos buscar a data que está no servidor d = now() ' vamos acrescentar-lhe 30 dias, para por no aviso de limite ' de expiração do postal digital d = DateAdd("d",30,d) enviar = "Deixe-me informá-lo de que " & session("nomede") & _ Chr(13) & Chr(10) & _ " enviou-lhe um postal digital. Para o ver " & _ "siga o link :" & _ Chr(13) & Chr(10) & Chr(13) & Chr(10) & _ "http://www.pt4free.net/pd/visualizar.asp?uq=defora&" & _ "ident=" & ident & _ "&psw=" & passw & " " & Chr(13) & Chr(10) & _ " o postal vai estar disponível no nosso site até ao dia " & _ formatDateTime(d,2) & _ Chr(13) & Chr(10) & Chr(13) & Chr(10) & _ Chr(13) & Chr(10) & _ " Obrigado," Mailer.BodyText = enviar Mailer.SendMail If Err <> 0 Then Response.write "ERRO..." Response.Write "<br><br>" & "Houve um Erro : " & Err.description & "<br><br>" Response.Write "<center><p>ERRO DO LADO DO SERVIDOR, " & "contacte o nosso webmaster.</p></center>" goby = 0 Else Response.Write "<br><br><br><center><p>POSTAL DIGITAL ENVIADO" & " SEM PROBLEMAS ...<br>" End if Set Mailer = nothing End If ' penso que reparou que uso o JavaScript history.back ' com este não perdemos a informação jà criada anteriormente %> <center> <a href="javascript:history.go('-2')"> <Refazer> </a> </center> </strong></small></font> </body> </html>