Bem vindo ao SOS Designers

Faça o seu cadastro gratuito no Portal SOS Designers e tenha um acesso personalizado.

Empresas

Cadastre gratuitamente suas vagas, crie sua propria Lista de Curriculos Favoritos, e tenha um acesso personalizado.

Usuarios

Cadastre gratuitamente seu curriculo, crie sua propria Lista de Noticias Favoritas e tenha um acesso personalizado.

Área de Empresas | Vagas

Área de acesso a empresas cadastradas que desejam postar vagas de empregos no Portal e pesquisar curriculos.

Cadastre-se gratuitamente
Esqueceu a sua senha?

Área de Usuarios | Curriculos

Área do Usuario que deseja cadastrar seu curriculo e pesquisar vagas.



Cadastre-se gratuitamente
Esqueceu a sua senha?


Redes Sociais
Siga o Portal SOS Designers no Twitter Siga o Portal SOS Designers no Facebook

Flash


Você está aqui: Home » Flash » Enviando EMAIL com ASP, COLDFUSION E PHP

Enviando EMAIL com ASP, COLDFUSION E PHP


Pesquisar no Portal SOS Designers





Tempo Real



Siga o SOS Designers








pub_flash( 'http://www.sosdesigners.com/banners/web_flash_300x250.swf', 300, 250 ); " alt="Tecnoponta - 300 x 250 - webdesign" />
Enviando EMAIL com ASP, COLDFUSION E PHP


Por Ken Awamura

INTRODUÇÃO

Neste tutorial veremos como enviar um e-mail do Flash com as principais tecnologias de middleware utilizadas na Web, que são : ASP, COLDFUSION E PHP. Cada uma destas 3 soluções possuem alguns detalhes que as diferem entre si, portanto vamos analisar cada solução separadamente.

Os arquivos .asp, .cfm e .php são totalmente diferentes entre si pois são tecnologias diferentes, porém os arquivos .flas para cada uma das soluções são todos muito parecidos onde a única diferença estará no momento em que cada um destes arquivos faz a requisição ao middleware correspondente. Portanto vamos analisar primeiramente a estrutura dos 3 arquivos .flas.

Nota: faça o download de todos or arquivos aqui.

ANÁLISE DOS ARQUIVOS .FLAs

Os arquivos a serem analisados são os seguintes : aspMail.fla, cfmMail.fla e phpMail.fla. A estrutura utilizada para cada um destes arquivos é a mesma e cada um deles contém os seguintes objetos :

  1. Três textFields do tipo input text : nome, email e msg
     
  2. Um textField do tipo dynamic text : status.
    Utilizado para mostrar uma mensagem ao usuário : Enviando Mensagem e Mensagem Enviada Com Sucesso
     
  3. Um botão : enviar

A figura abaixo mostra o stage de cada um destes arquivos:

Nota : Não será feito validações de campos de formulário nestes exemplos.

De um modo simplificado, o processo de envio de email seria o seguinte :

  1. O usuário fornece alguns dados preenchendo campos de formulário
  2. O usuário envia estes dados ao servidor
  3. O middleware no servidor recebe os dados e os envia ao webServer

Uma vez criado a estrutura acima precisamos verificar o código necessário para que o email possa ser enviado. O botão 'enviar' conterá todo o código para isto e deverá executar as seguintes etapas no momento que for pressionado pelo usuário :

  1. Requisitar o middleware : utilizou-se o loadVariables com método Post
  2. Informar o usuário que a mensagem está sendo enviada : o textField 'status' mostra esta mensagem.

O actionScript do botão enviar é o seguinte :
 

on(release)
{
    status = "ENVIANDO MENSAGEM";
    loadVariablesNum("aspMail.asp", 0, "POST");
}

Para as soluções em Coldfusion e PHP o comando loadVariables chamaria os arquivos cfmMail.cfm e phpMail.php respectivamente. Com isso vimos que a estrutura do arquivo Flash é a mesma independentemente do middleware utilizado.

A próxima etapa é analisar como o ASP, COLDFUSION e PHP recebem os dados do Flash e enviam o email.

 

<SOLUÇÃO EM ASP>

Uma das características do ASP é a extensa utilização de componentes para a execução de diversas tarefas. Existem componentes como o aspCache, aspUpload, aspMail, etc sendo que alguns são gratuitos e outros pagos. Isto quer dizer que se você pretende mandar um email com ASP, provavelmente utilizará algum componente. Felizmente o IIS já vem com um componente de email gratuito chamado CDONTS (Collaboration Data Objects for Win NT), e é exatamente este componente que foi utilizado neste exemplo.

A maior parte dos Provedores possui o CDONTS instalado, porém é interessante verificar com o seu Provedor qual componente ele utiliza para se criar um arquivo de email compatível.

nota : o NT4 sem o option pack utiliza o CDO. O CDONTS é o CDO com o option pack e o CDO 2.0 é a versão para o win2000. (e sabé lá o que vem para o ASP.NET e o XP)

Detalhes à parte, vamos analisar o arquivo aspMail.asp :

Foi utilizado o ASP padrão, ié ASP com vbScript (coisas do passado, pois ASP de verdade hoje é ASP.NET com C#, quando eu crescer talvez use) e o código está listado a seguir :

Dim myMail, fields, f1, f2

Declaração de variáveis necessárias no script.

Por padrão foi estabelecido que a mensagem enviada teria como cabeçalho o nome da pessoa que enviou o email (campo 'nome' no Flash) e como corpo o email do remetente mais a mensagem. A variável 'fields' armazenará o email e a mensagem do usuário e as variáveis f1 e f2 armazenarão o email e a mensagem respectivamente.

f1 = "Email: " & Request.Form("email") & vbcrlf

O código acima armazena o email do usuário e repare que o ASP trata o textField (email) do Flash como se fosse um campo de formulário normal, utilizando request.form(nome do textField do Flash) para capturar a variável enviada pelo Flash.

f2 = "MSG: " & Request.Form("msg") & vbcrlf

Analogamente captura-se o conteúdo do textField 'msg' do Flash na variável f2.

fields = f1 & f2

A variável 'fields' armazena o email e a msg que formarão o corpo do email.

A seguir o ASP cria uma instância do objeto responsável pelo envio do email :

Set myMail = CreateObject("CDONTS.NewMail")
myMail.From = request.Form("nome")
myMail.To = "seuNome@seuEmail.com.br"
myMail.MailFormat = 1
myMail.Body = fields
myMail.Send
Set myMail = Nothing

O código acima é praticamente auto-explicativo, mas é importante reparar que o objeto myMail.From captura o conteúdo do textField do Flash que possui o nome do usuário, o objeto myMail.TO deve conter o endereço de email destino, o objeto myMail.Body conterá o corpo do email que foi armazenado na variável 'fields' e feito isto o email pode ser enviado com o myMail.Send. Após o envio é eliminado a instância do objeto myMail com o comando Set myMail=nothing.

Uma vez enviado o email precisamos avisar o usuário sobre isto através de uma mensagem que aparecerá no Flash, naquele textField dynamic chamado 'status'. O código a seguir mostra este processo :

Response.write "status=MENSAGEM ENVIADA COM SUCESSO"

O Flash é capaz de receber a mensagem acima pois após o loadVariables tanto o Flash como o ASP compartilham a mesma região de memória em relação às suas variáveis.

Com isso vimos como enviar um email básico com o ASP e o CDONTS. Caso utilize-se algum outro componente de email, tudo o que será necessário é uma adaptação à este componente, porém todos são muito parecidos e creio que não haverá grandes dificuldades para isto.

 

<SOLUÇÃO EM COLDFUSION>

Aqui tudo fica mais simples, pelo menos para mim (hehehe). A característica principal da linguagem CFML é a utilização de tags específicas para seus comandos e no caso do email utilizar-se-á a tag <CFMAIL> que possui vários atributos, porém vamos nos concentrar somente nos atributos padrões : To, From e Subject.

O arquivo cfmMail.cfm tem a seguinte estrutura :

 

<cfsetting enablecfoutputonly="Yes">

<CFMAIL to="seuNome@seuemail.com.br" from="#nome# subject="CFM Mail">
email : #email#
Mensagem : #msg#
</CFMAIL>

<cfoutput>
&status=MENSAGEM ENVIADA COM SUCESSO
</cfoutput>

 

Linha 2 : 'enablecfoutputonly' significa que somente o que estiver entre as tags <cfouput> será impresso em tela e no caso do uso com o Flash, será feito output à memória. Esta tag pode ser dispensada, porém caso ocorra algum erro durante o processo, caso esta tag não tivesse sido declarada, junto com a msg de erro impressa na tela apareceria o conteúdo da tag <cfmail> e outras que também estivessem lá, o que muitas vezes não é interessante. Suponha que você estivesse acessando um banco de dados via string de conexão e um erro ocorreu. Não é interessante mostrar o caminho deste banco de dados. Esta tag configurada para 'true' evitaria que o caminho fosse impresso na tela.

Linha 4 :

TO deve conter o email destino

FROM no nosso caso conterá o nome do usuário. Note que o Coldfusion lê a variável 'nome' do Flash como se fosse uma variável CFM.

SUBJECT o assunto do email. (Qualquer coisa serve)

Linhas 5 e 6 : conterá o corpo do email, que no nosso caso é o email do usuário mais a mensagem.

Linhas 9 à 11 : avisar o usuário que a msg foi enviada.

Simples como a vida deve ser. Next...PHP.

 

<SOLUÇÃO EM PHP>

O PHP tem uma solução similar ao Coldfusion.

nota : todas as 3 soluções foram simuladas via SMTP. Muito provavelmente você fará o upload de seu arquivo ao seu provedor e fará os testes por lá, porém caso deseje fazer em sua própria máquina é necessário (além de ter o PHP instalado - www.php.net) uma configuração de seu SMTP.

Configurando o SMTP no Windows:

1. Executar o arquivo info.php (está junto com os arquivos de download) via http (webServer) e verifique as configs abaixo :

  1. sendmail_from : me@localhost.com
  2. sendmail_path : no value
  3. SMTP : (o endereço SMTP do seu provedor)

2.Para configurar o SMTP acima edite o arquivo php.ini e modifique a linha :

  1. [mail function] ;
  2. For Win32 only.
  3. SMTP = (o endereço SMTP do seu provedor) for Win32 only

No Unix, Linux e variantes:

  1. sendmail_path = /usr/sbin/sendmail
  2. Ou, se estiver usando o Qmail: sendmail_path = /var/qmail/bin/sendmail

Porém somente faça estas configurações caso queira testar os arquivos em sua máquina.

Enquanto o coldFusion possui uma tag específica para envio de email, o PHP possui uma função para isto chamada simplesmente de 'mail' com 4 argumentos básicos : recipient, subject, msg, mailheaders. O código do arquivo phpMail.php é mostrado a seguir :

Linha 3 : 'recipient' é equivalente ao TO e deverá conter o email destino.

Linha 5 : 'subject' é o assunto

Linha 7 : 'msg' conterá o corpo do email que no nosso caso é o email + a msg do usuário. Da mesma forma que o coldFusion, o PHP lê as variáveis do Flash como se fossem variáveis PHP.

Linha 9 : 'mailheaders' é o conteúdo para o cabeçalho, onde colocaremos somente o nome do usuário.

Linha 11 : Coletado todas as informações, envia-se o email com a função 'mail();'

Linha 13 : Mandamos a msg de sucesso ao usuário.

CONCLUSÃO

Este exemplo mostra como o Flash se integra com soluções como ASP, PHP e Coldfusion e serve também para notarmos os prós e contras de cada uma das tecnologias. É claro que isto não é o suficiente para se tirar uma conclusão definitiva a respeito de qual solução é a melhor, porém conseguimos notar bem como é que cada uma destas soluções é estruturada.

Enviem sugestões e dúvidas por e-mail, ou visite o Fórum S.O.S Designers

Grande abraço,
[ ]´s
Ken Awamura

--------------------------
Ken Awamura tem graduação em Bacharelado em Informática e iniciou sua carreira na área de análise de sistemas porém em 1998 decidiu se especializar em Desenvolvimento para a Web, especialmente com o uso do software Macromedia Flash que começou a usar na sua versão 3. Atualmente dedica-se mais na área de programação com actionScript e na integração do Flash com soluções externas tanto client como server side.
--------------------------

info@kencwb.com


Deixe seu comentário:





© Copyright 2002-2018
Portal SOS Designers
Webmaster: Luiz Antonio Bovi