SendMail em ASP - Artigo para Envio de E-mail em ASP
¹ Belo Horizonte – MG – Brasil
[email protected]
[email protected]
Abstract. In this article I demonstrate
how to make a page for sending e- mails in asp, both to
deduce that you have the form of transmission of data at another site and has a
basic knowledge of programming.
Resumo. Neste artigo eu demonstrarei como fazer uma pagina de envio de e-mails em asp, para tanto deduzirei que você já fez o formulário de envio de dados em outra pagina e que tem um conhecimento básico de programação.
1. Recuperando as informações enviadas pelo formulário
Abra o notepad (Blocos de Notas), como esta pagina somente será utilizada para enviar o e-mail, nós não precisaremos colocar a tags HTML nela. Para inserir um conteúdo asp em uma pagina você deve colocá-lo dentro de “<%” e “%>”, pois assim o browser reconhecerá automaticamente que se trata de um código asp.
Então para começa, digite <%, tecle enter, digite %> e tecle enter novamente.
Deverá ficar assim:
<%
(código fonte irá ficar aqui.)
%>
Sendo que o código fonte deverá ser escrito entre os símbolos:
Neste exemplo eu supus que o formulário que enviou os dados tinha apenas 3 variáveis(nome, email e mensagem), portanto para formulários com mais variáveis(campos), basta você acrescentar mais campos no código.
O primeiro código a ser digitado é o para recuperar as variáveis que o formulário enviou e o código asp que faz isso é o RequestForm.
Portanto para as três variáveis irá ficar assim:
<%
nome = RequestForm(“nome”) ‘aqui nós criamos uma variável chamada
‘nome que receberá o nome enviado
‘através do formulário. Note que o nome a ser
‘recuperado esta entre aspas, isto é obrigatório.
email = RequestForm(“email”)
mensagem = RequestForm(“mensagem”)
%>
2. Formatando o corpo do e-mail
Agora que já recuperamos as variáveis vamos formatar o e-mail que será enviado. Para tanto vamos criar uma variável a qual iremos concatenar todo o corpo do e-mail, já com a formatação, para posteriormente a enviarmos.
Nossa variável terá o nome de corpoEmail e primeiramente vamos formatar o corpo do e-mail, para tanto utilizaremos de comandos HTML, que como não é o nosso foco aqui e portanto eu apenas irei os inserir.
<%
nome = RequestForm(“nome”) ‘aqui nós criamos uma variável chamada
‘nome que receberá o nome enviado
‘através do formulário. Note que o nome a ser
‘recuperado esta entre aspas, isto é obrigatório.
email = RequestForm(“email”)
mensagem = RequestForm(“mensagem”)
corpoEmail = corpoEmail & "<font face= 'Verdana, Arial, Helvetica, sans-serif' size = '2' color = '#555555'>” ‘este código tem que ficar em uma só linha
corpoEmail = corpoEmail & “Nome: ” & nome & “<br>”
corpoEmail
= corpoEmail & “Email: ” & email & ”<br>”
corpoEmail = corpoEmail & “Mensagem” & mensagem & “<br>”
corpoEmail = corpoEmail & "</font>"
%>
Explicando o código:
corpoEmail = corpoEmail & ”Nome: ” & nome & “<br>”
Primeiramente é importante saber que o comando para concatenar duas Strings em aspe o e comercial (&), portanto no código eu mandei a variável corpo receber ela mesma(para não perder o conteúdo que estava nela) mais um string contendo o nome do campos(ex: “Nome: ”- serve para as pessoas conseguirem diferenciar os campos no e-mail.) e a variável com o campo em si (ex: nome – esta é a variável onde nós recuperamos o nome que foi enviado via formulário).
Já o comandos abaixo são comandos de formatação de texto em HTML , portanto não entraremos em detalhes sobre eles aqui, mas vale saber que para aumentar o tamanho do texto do email, basta aumenta o numero do campo size e para mudar a cor da letra basta alterar o campo color.
"<font
face= 'Verdana, Arial, Helvetica, sans-serif' size = '2' color =
'#555555'>"
"</font>"
Ps. O corpo do e-mail deve ficar entre as tags deste comando, assim como eu coloquei no código.
3. Configurando o envio do e-mail
Agora com o corpo do e-mail formatado nós vamos começar a digitar os comandos de envio do mesmo. Para isto criaremos um objeto MailServer:
Set Mail = Server.CreateObject("Persits.MailSender")
Eu o dei o nome de Mail, mas você pode colocar qualquer nome de sua preferência. Agora vamos utilizar as funções deste objeto para configura o envio do e-mail:
Mail.Host = "Server.com" ‘aqui você deve colocar o endereço
‘do seu servidor de emails.
Mail.From = “[email protected] “ ‘aqui você deve colocar o seu e-mail(remetente),
‘o seu e-mail no servidor.
Mail.FromName = "E-mail enviado pelo Site" ‘Campo opcional, nele você pode
‘colocar o nome ‘do e-mail e o mesmo irá aparecer no lugar do
‘e-mail no programa de e-mail do destinatário.
destinatario="[email protected]" ‘aqui você deve colocar o destinatário do e-mail,
‘ou seja, a pessoa que irá o receber, normalmente
‘você mesmo (seu próprio e-mail).
Mail.AddAddress destinatario ‘aqui eu estou inserindo o destinatário
‘na função AssAddress, não altere.
Mail.IsHTML = True ‘ coloque true ou false aqui, para enviar ou não o e-mail
‘ em formato HTML
Mail.Subject = "Email de Teste enviado pelo site" ‘aqui você deve colocar
‘ o assunto do e-mail.
Mail.Body = corpoEmail ‘na função Boby nó colocamos a variável com
‘o corpo do e-mail.
Obs.: Repare que todos os dados passados para as funções, com exceção das variáveis, estão entre aspas duplas, isto é obrigatório.
4. Enviando o e-mail e tratando erros
Para finalizar agora seria só digitarmos o comando send (Mail.Send) e enviar o e-mail, mas o código não fiaria bom, pois não saberíamos se o e-mail realmente teria ido. Portanto para deixarmos o nosso código mais robusto eu vou inserir mais algumas linhas para tratar eventuais erros de envio do e-mail, onde será exibida uma mensagem avisando se o e-mail foi o não enviado, lembro quês essas linhas são opcionais.
<%
nome = RequestForm(“nome”) ‘aqui nós criamos uma variável chamada
‘nome que receberá o nome enviado
‘através do formulário. Note que o nome a ser
‘recuperado esta entre aspas, isto é obrigatório.
email = RequestForm(“email”)
mensagem = RequestForm(“mensagem”)
corpoEmail = corpoEmail & "<font face= 'Verdana, Arial, Helvetica, sans-serif' size = '2' color = '#555555'>" ‘este código tem que ficar em uma só linha
corpoEmail = corpoEmail & “Nome: ” & nome & “<br>”
corpoEmail
= corpoEmail & “Email: ” & email & ”<br>”
corpoEmail = corpoEmail & “Mensagem” & mensagem & “<br>”
corpoEmail
= corpoEmail & "</font>"
Set Mail =
Server.CreateObject("Persits.MailSender")
Mail.Host = "Server.com" ‘aqui você deve colocar o endereço do seu servidor
‘de emails.
Mail.From = “[email protected] “ ‘aqui você deve colocar o seu e-mail(remetente),
‘ o seu e-mail no servidor
Mail.FromName = "E-mail enviado pelo Site" ‘Campo opcional, nele você
‘pode colocar o nome do e-mail e o mesmo irá
‘aparecer no lugar do e-mail no programa de e-mail do destinatário.
destinatario="[email protected]" ‘aqui você deve colocar o destinatário do e-mail,
‘ ou seja, a pessoa que irá o receber, normalmente
‘ você mesmo (seu próprio e-mail).
Mail.AddAddress destinatario ‘aqui eu estou inserindo o destinatário
‘na função AssAddress, não altere.
Mail.IsHTML = True ‘ coloque true ou false aqui, para enviar ou não o e-mail
‘ em formato HTML
Mail.Subject = "Email de Teste enviado pelo site" ‘aqui você deve colocar
‘ o assunto do e-mail.
Mail.Body = corpoEmail ‘na função Boby nó colocamos a variável com
‘o corpo do e-mail.
‘envio do e-mail
erro = ""
sucesso = False
On Error Resume Next 'Verifica erros
Mail.Send 'Envia mensagem
If Err
<> 0 Then
erro =
Err.Description
else
sucesso = True
End If
Set Mail =
nothing
%>
<% If erro <> "" Then%> ‘mensagem caso falha
Ocorreu um erro: <% = erro %>
<% End If %>
<% If sucesso Then%> ‘mensagem caso sucesso
Mensagem enviada para <% = destinatario %> com sucesso.
<% End If %>
Obs.: Você deve ter notado que no código eu coloquei algumas observações, mas você não precisa retirá-las se não quiser, pois elas estão no formato de comentários e portanto não iram interferir na execução da pagina.
Nota: Para criar comentários em asp, você deve utilizar
aspas simples ( ‘ ).
Agora é só salvar o arquivo com a extensão “asp” e
direcionar o campo action do formulário de e-mail para a pagina que você acabou
de criar. Lembre-se que scripts em asp só funcionam quando estão publicados em
um servidor.
Autor: Edson Pereira Santos
Artigos Relacionados
Longe De Ti
Divagando
País De Duas Faces
"amor E Vida"
Maior LiÇÃo De Vida
O Processo Da Independência Do Brasil
Theo De Carvalho - Segundo AniversÁrio