Como usar o componente CDOSYS na Revenda Windows?
O CDOSYS é um componente que tem como propósito o envio de e-mails e que é utilizado no processamento de formulários de e-mail.
Enviar e-mails com o uso de formulários envolve normalmente dois arquivos: o formulário em si e um script que processa as informações inseridas nos campos do formulário e executa a ação do envio do e-mail.
Existe um detalhe que deve ser observado sempre: os campos que são preenchidos no formulário devem ser obrigatoriamente referenciados no script que processa o e-mail.
No exemplo abaixo, consideramos um formulário simples com os campos de “Nome do Remetente”, “Endereço do Remetente”, “Assunto” e “Mensagem”.
1 - Crie um arquivo dentro da sua hospedagem com o conteúdo abaixo e nomeie-o como formulário.html
<head>
<title>Formulário de Contato</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div align="center">
<p><font face="Arial, Helvetica, sans-serif" size="2"><b><font color="#FF0000" size="4" face="Times New Roman, Times, serif">Formulário de Contato</font></b></font></p>
<form method="post" enctype="multpart/formdata" name="form1" action="enviar.asp">
<table width="47%" border="1" cellspacing="2" cellpadding="2">
<tr>
<td width="33%"><font face="Times New Roman, Times, serif" size="3">Nome
do Remetente: </font></td>
<td width="67%"><font face="Arial, Helvetica, sans-serif" size="2">
<input type="text" name="nomerem" size="55">
</font></td>
</tr>
<tr>
<td width="33%"><font face="Times New Roman, Times, serif" size="3">E-mail
do remetente: </font></td>
<td width="67%"><font face="Arial, Helvetica, sans-serif" size="2">
<input type="text" name="emailrem" size="55">
</font></td>
</tr>
<tr>
<td width="33%"><font face="Times New Roman, Times, serif" size="3">Assunto: </font></td>
<td width="67%"><font face="Arial, Helvetica, sans-serif" size="2">
<input type="text" name="assunto" size="55">
</font></td>
</tr>
<tr>
<td width="33%"><font face="Times New Roman, Times, serif" size="3">Mensagem:</font></td>
<td width="67%">
<textarea name="recado" rows="7" cols="52"></textarea>
</td>
</tr>
<tr>
<td colspan="2">
<div align="center">
<input type="submit" name="Submit" value="Enviar">
<input type="reset" name="reset" value="Limpar">
</div>
</td>
</tr>
</table>
</form>
<p>Powered by <a target="_blank" href="http://www.uolhost.com.br">UOL HOST - Hospedagem de Sites</a></p>
</div>
</body>
2 - No mesmo diretório, crie um arquivo chamado enviar.asp com o conteúdo abaixo:
<blockquote>
<%
sch = "http://schemas.microsoft.com/cdo/configuration/"
Set cdoConfig = Server.CreateObject("CDO.Configuration")
'Variaveis
Dim meuservidorsmtp
Dim minhacontaautenticada
Dim minhasenhaparaenvio
Dim emailorigem
Dim emaildestino
'Abaixo seguem algumas definicoes de variaveis para o envio de seu formulario. Por favor preencha os campos abaixo.
meuservidorsmtp = "meudominio" ' Informacoes so seu servidor SMTP
minhacontaautenticada = "conta@meudominio" ' conta de e-mail utilizada para enviar
minhasenhaparaenvio = "minhasenha" ' senha da conta de e-mail
emailorigem = "emailorigem@dominio" ' e-mail que indica de onde partiu a mensagem
emaildestino = "emaildestino@dominio" ' e-mail que vai receber as mensagens do formulario
'Fim da definição manual de parâmetros.
cdoConfig.Fields.Item(sch & "sendusing") = 2
cdoConfig.Fields.Item(sch & "smtpauthenticate") = 1
cdoConfig.Fields.Item(sch & "smtpserver") = meuservidorsmtp
cdoConfig.Fields.Item(sch & "smtpserverport") = 587
cdoConfig.Fields.Item(sch & "smtpconnectiontimeout") = 30
cdoConfig.Fields.Item(sch & "sendusername") = minhacontaautenticada
cdoConfig.Fields.Item(sch & "sendpassword") = minhasenhaparaenvio
cdoConfig.fields.update
Set cdoMessage = Server.CreateObject("CDO.Message")
Set cdoMessage.Configuration = cdoConfig
cdoMessage.BodyPart.Charset = "iso-8859-1"
cdoMessage.From = emailorigem
cdoMessage.To = emaildestino
cdoMessage.Subject = "Formulario de Contato"
cdoMessage.ReplyTo = Request("emailrem")
strBody = "Dados <br> <br>" & _
"Nome:"& Request("nomerem")& "<br>" & _
"E-Mail:"& Request("emailrem")& "<br>" & _
"Assunto:"& Request("assunto")& "<br>" & _
"Mensagem:"& Request("recado")
strBody = strBody & "."
cdoMessage.HTMLBody = strBody
cdoMessage.Send
Set cdoMessage = Nothing
Set cdoConfig = Nothing
response.write "O e-mail foi processado e enviado com sucesso"
%>
</blockquote>
OBSERVAÇÕES:
- Substitua as informações de SMTP solicitadas no código acima pelos dados do domínio temporário existentes em seu painel de controle e os dados da conta de e-mail de acordo com a caixa que você pretende utilizar. Mesmo sem transferir os DNS´s, você poderá testar o formulário.
- Lembre-se de criar a caixa postal que irá ser utilizada para a autenticação via Painel de Controle.
- Consulte as políticas de envio de e-mail pelo servidor de hospedagem na FAQ:
http://ajuda.uolhost.com.br/index.php?ind=&p=resposta&res=566
Eventualmente, sua aplicação pode utilizar o Charset UTF-8. Nestes casos, o uso do exemplo acima poderá ocasionar o envio de mensagens com caracteres estranhos.
Se isto ocorrer, sugerimos que você adapte a utilização do script conforme os passos abaixo. Se ainda assim persistir este comportamento, recomendamos fortemente que você verifique se a programação da aplicação em si não possui outras áreas de controle de Charset.
1 - Salve os arquivos formulario.html e enviar.asp no formato UTF-8. Para isso, você pode utilizar o Bloco de Notas. Vá em "Salvar Como" e defina o item "Codificação" como UTF-8;
2 - Substitua a linha abaixo que define o charset no arquivo formulario.html
De:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
Para:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
3 - Substitua a linha abaixo que define o charset no arquivo enviar.asp
De:
cdoMessage.BodyPart.Charset = "iso-8859-1"
Para:
cdoMessage.BodyPart.Charset = "utf-8"
OBS: Caso você tenha constatado algum tipo de dificuldade ao enviar e-mails através de formulários ou scripts hospedados junto ao UOL HOST, recomendamos que consulte nossa FAQ: http://ajuda.uolhost.com.br/index.php?ind=&p=resposta&res=1286