LOGO UOL HOST

Como usar o componente AspEmail?

O componente AspEmail é um componente que tem como propósito envio de e-mails.

Ele é utilizado no processamento de formulários de e-mail.

Existe um detalhe que deve ser observado sempre, os campos que são preenchidos no formulário devem ser obrigatóriamente referenciados no script.

No exemplo abaixo, consideramos um formulário simples com os campos de Nome, E-mail, Assunto e mensagem.

Crie um arquivo dentro da sua hospedagem com o conteúdo abaixo e nomeie-o como formulario.asp:
 

< title>Título do seu site< /title>
< meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" />
< div align="center">

< p>Formulário de Contato< /p>

< form action="<%=strPageName%>" method="post" name="frmReferral">
< table border="0">
< tbody>
< tr>
< td align="right" valign="top">

< strong>Nome:< /strong>< /td>
< td>
< input name="FromName" size="50" type="text" value="<%=FromName%>" />< /td>
< /tr>
< tr>
< td align="right" valign="top">

< strong>E-mail:< /strong>< /td>
< td>
< input name="FromEmail" size="50" type="text" value="<%=FromEmail%>" />< /td>
< /tr>
< tr>
< td align="right" valign="top">

< strong>Assunto:< /strong>< /td>
< td>
< input name="Subject" size="50" type="text" value="<%=Subject%>" />< /td>
< /tr>
< tr>
< td align="right" valign="top">

< strong>Mensagem:< /strong>< /td>
< td>
< textarea cols="50" name="Message" rows="5" wrap="virtual">
<%=strBody%>< /textarea>< /td>
< /tr>
< tr>
< td>
 < /td>
< td>
< input class="botoes" name="rstReferral" type="submit" value="Enviar" />  
< input class="botoes" name="subReferral" type="reset" value="Limpar" /> < /tr>
< /tbody>
< /table>
< /form>
< /div>


<%
Dim Mail ' objeto mail 
Dim FromName ' nome do remetente
Dim FromEmail ' endereço de E-mail do remetente
Dim ToEmail ' endereço do destinatario
Dim Subject, strBody ' corpo da mensagem
Dim ThisPage ' o endereco do seu site
Dim RefPage ' a referencia URL 
Dim Val_Input ' variável Booleana usada na validação 
Dim meusmtp
Dim minhacontaautenticada
Dim minhasenhaparaenvio

'Abaixo seguem algumas definicoes de variaveis para o envio de seu formulario. Por favor preencha os campos abaixo.

meusmtp = "smtp.seudominio.com" ' Informacoes so seu servidor SMTP
minhacontaautenticada = "conta@dominio.com" ' conta de e-mail utilizada para enviar
minhasenhaparaenvio = "senha" ' senha da conta de e-mail
emaildestino = "e-maildedestino@dominio.com" ' e-mail que vai receber as mensagens do formulario


'Fim da definição manual de parâmetros.

' Retorna o nome do arquivo de script e a url da pagina
ThisPage = Request.ServerVariables("SCRIPT_NAME")
RefPage = Request.ServerVariables("HTTP_REFERER")

strBody = Trim(Request.Form("Message"))
Subject = Trim(Request.Form("Subject"))
ToEmail = emaildestino
FromName = Trim(Request.Form("FromName"))
FromEmail = Trim(Request.Form("FromEmail"))

val_ent = True
val_ent = val_ent And FromName <> ""
val_ent = val_ent And val_email(FromEmail)
val_ent = val_ent And val_email(ToEmail)

If val_ent Then 
Set Mail = Server.CreateObject("Persits.MailSender") 
Mail.Host = meusmtp
Mail.Port = 587
Mail.Username = minhacontaautenticada
Mail.Password = minhasenhaparaenvio
Mail.From = FromEmail
Mail.FromName = FromName
Mail.AddAddress ToEmail 
Mail.Subject = Subject
Mail.Body = "Dados"& vbCrLf & _
"Nome:"& Request("FromName")& vbCrLf & _
"E-Mail:"& Request("FromEmail")& vbCrLf & _
"Assunto:"& Request("Subject")& vbCrLf & _
"Mensagem:"& Request("Message")

Mail.Send
mensagem_erro = ""
if err <> 0 then
mensagem_erro = "Ocorreu o erro: " & Err.description
end if
Mail.CharSet = "ISO 8859-1"
Set Mail = Nothing
on error goto 0
response.write " < p>Sua mensagem foi enviada com sucesso!

 

"
Else
If "//" & Request.ServerVariables("HTTP_HOST") & ThisPage = RefPage Then
Response.Write "Verifique os campos por favor!" & "
" & vbCrLf 
End If
Forms_x ThisPage, FromName, FromEmail, Subject, strBody
End If

Function val_email(strEmail)

Dim xVal

xVal = True

If Len(strEmail) < 5 Then
xVal = False
Else
If Instr(1, strEmail, " ") <> 0 Then
xVal = False
Else
If InStr(1, strEmail, "@", 1) < 2 Then 
xVal = False
Else
If InStrRev(strEmail, ".") < _
InStr(1, strEmail, "@", 1) + 2 Then
xVal = False
End If
End If
End If
End If

val_email = xVal

End Function

Sub Forms_x (strPageName, FromName, FromEmail, Subject, strBody) %> <% End Sub %>

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(assim mesmo sem transferir os DNS´s, você poderá testar o formulário) e os dados da conta de e-mail de acordo com a caixa que você pretende utilizar.

- Lembre-se de criar a caixa postal que irá ser utilizada para a autenticação via Painel de Controle.

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 o arquivo formulario.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 as linhas abaixo que definem o charset:
De:

< meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" />

Para:

< meta content="text/html; charset=utf-8" http-equiv="Content-Type" />

De:

Mail.CharSet = "ISO 8859-1"

Para:

Mail.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

Assuntos recentes

Atendimento Online

Somente para assinantes

Fale com um dos nossos atendentes especializados via chat ou envie um e-mail.

Iniciar Chat ou Enviar E-mail

Central de atendimento

Atendimento 24 horas por dia, 7 dias por semana.

Se preferir você pode entrar em contato com a nossa central de atendimento

4003 9011 Capítais e regiões metropolitanas

0800 881 9011 Demais localidades