sábado, 5 de maio de 2001

Criando um formulário de contatos com CDONTS

Uma forma simples e eficaz de se mandar um email com informações de um formulário, é o uso do componente do CDONTS ( Collaborative Data Objects for Windows NT Server ), permite o envio de email em formato texto ou HTML.


Abaixo, veja o código em HTML necessário para o formulário:


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Contatos - Via CDONTS</title></head>


<body bgcolor="#FFFFFF">
<div align="center">
<form name="form1" action="Enviar_email.asp" >
<p>Nome: <br>
<input type="text" name="txtnome">
</p>
<p>Email: <br>
<input type="text" name="txtemail">
</p>
<p>Coment&aacute;rio: <br>
<textarea name="txtcomentario" cols="50" rows="10"></textarea>
</p>
<p>
<input type="submit" name="Submit" value="Enviar">
</p>
</form>
</div>
</body>
</html>


A action do form esta direcionado para http://www.seuservidor.com.br/suapasta/enviar_email.asp onde é uma url de exemplo, você deverá substituir de acordo com o seu servidor.



Código do arquivo enviar_email.asp


<%


Option Explicit


Dim var_nome, var_mail, var_comentario, var_to, EnviarMail, MsgBody


var_nome = Request.QueryString("txtnome")
var_mail = Request.QueryString("txtemail")
var_comentario = Request.QueryString("txtcomentario")
var_to = "andreluisbassi@hotmail.com"


Set EnviarMail = Server.CreateObject("CDONTS.NewMail")
EnviarMail.To = var_to
EnviarMail.From = var_mail
EnviarMail.Subject = "Meu Site - Contatos"
MsgBody = "<html>" _
& "<head>" _
& "</head>" _
& "<body bgcolor=""#FFFFFF"">" _
& "<p align=""center""><font face=""Verdana, Arial, Helvetica, sans-serif"" size=""2"">Voc&ecirc; recebeu uma mensagem de <b>" & var_nome & "</b>, email <b>" & var_mail & "</b> e fez o seguinte coment&aacute;rio:</font></p><p align=""center""><font face=""Verdana, Arial, Helvetica, sans-serif"" size=""2""><b>" & var_comentario & "</b></font></p>" _
& "</body>" _
& "</html>"
EnviarMail.Body = MsgBody
EnviarMail.Importance = 1
EnviarMail.BodyFormat = 0
EnviarMail.MailFormat = 0
EnviarMail.Send


Set EnviarMail = Nothing


Response.redirect "Obrigado.html"


%>


Entendendo o Código:


Option Explicit


Indica que todas as variáveis devem ser declaradas, isso deixa sua aplicação mais rápida.


Dim var_nome, var_mail, var_comentario, var_to, EnviarMail, MsgBody


Logo em seguida declaramos todas as variáveis que serão manipuladas.



var_nome = Request.QueryString("txtnome")
var_mail = Request.QueryString("txtemail")
var_comentario = Request.QueryString("txtcomentario")


Recuperamos os valores digitados no formulário.



var_to = "andreluisbassi@hotmail.com"


Definimos a variável com o email, para aonde as informações serão enviadas.



Set EnviarMail = Server.CreateObject("CDONTS.NewMail")


Instancia o objeto do CDONTS através da variável EnviarMail.



EnviarMail.To = var_to


A propriedade TO permite especificar o endereço do destinatário, onde var_to é a varíavel que esta armazenado o email de destino, que seria "andreluisbassi@hotmail.com"



EnviarMail.From = var_mail


A propriedade From permite especificar o endereço do remetente, onde var_mail é a varíavel que esta armazenado o valor recuperado do campo do formulário Email, que seria Request.QueryString("txtemail")



EnviarMail.Subject = "Meu Site - Contatos"


A propriedade Subject permite especifcar o assunto da mensagem.



A varíavel MsgBody ( veja o conteúdo dela acima ) é onde esta armazenado todo o codigo HTML concatenado e definido como string, para o CDONTS poder processar o email, e quando houver a necessidade de quebrar linha utilize o UnderScore ( _ ) , utilize o & para continuar definindo após a quebra, exemplo:


MsgBody = "HTML" _
& "HEAD" _
& "<TITLE>Exemplo de concatenação de HTML em uma varíavel</TITLE>" _
& "<p align=""center""><font face=""Verdana, Arial, Helvetica, sans-serif"" size=""2"">Voc&ecirc; recebeu uma mensagem de" & var_nome & "</p>"


Importante notar que quando existir " ( aspas ) em um código html por exemplo <p align="center"> reformate o código colocando aspas duplas, por exemplo <p align=""center"">


Se necessitar exibir o conteúdo das varíaveis var_nome, var_mail e var_comentario ou até mesmo executar uma função dentro da varíavel MsgBody por exemplo, insira a varíavel ou função entre & por exemplo:


& "<font face=""Verdana, Arial, Helvetica, sans-serif"" size=""2"">Voc&ecirc; recebeu uma mensagem de" & var_nome & "</p>"



EnviarMail.Body = MsgBody


A propriedade Body define o texto da mensagem ou do HTML, onde MsgBody é a varíavel que esta armazenado o HTML da mensagem Concatenado e coma programação necessária.



EnviarMail.Importance = 1


A propriedade Importance define o nível de prioridade ao enviar a mensagem, veja a tabela abaixo:















ValorSignificado
0Prioridade Baixa
1Prioridade normal (padrão)
2Prioridade alta




 


 


 





EnviarMail.BodyFormat = 0


A propriedade BodyFormat defini qual é o formato que a mensagem será enviada, se for definido o valor 1 a mensagem será enviada como texto, se indicarmos a propriedade por 0, a mensagem será enviada em formato HTML.



EnviarMail.MailFormat = 0


A propriedade MailFormat defini qual o tipo de codificação MIME a ser usado, onde com o valor 0 indica que o MIME interprete o HTML, no caso se usarmos o valor 1 o MIME interpretará a mensagem como texto.



EnviarMail.Send


A propriedade Send, quando é executada, a mensagem é processada e enviada ao seu destinátario.



Set EnviarMail = Nothing


O objeto EnviarMail é encerrado e liberado



Response.redirect "Obrigado.html"


Após enviar a mensagem, redirecionamos para um arquivo em HTML simples, agradecendo o contato.



André Luis Bassi é desenvolvedor em ASP, onde presta serviço para diversas empresas.

 



Esta matéria foi postada originalmente no ASP4Developers por André Luis Bassi (site), que na época era "Webmaster / DBA / Programador". Hoje, vai saber...

0 comentários: