GUILHERME SCHEIBE (49 pts)

GÉRIO (93 pts)

DENIS CARAVALHO (85 pts)

JOTA LAGO (40 pts)

LUIZ AVANCI (51 pts)

ZEBEDIAH (35 pts)

RICARDO FIGUEIRA (33 pts)

PEDRO CLAUDIO (50 pts)

LUIZ HERRERA (117 pts)

RODRIGO AMARAL (56 pts)

ILVA RUDEV (90 pts)

MUZAK (45 pts)
Treinamento PontoFlash de Flash e ActionScript

Como criar uma grade no Flash?

Exempo de formulário de email interagindo Flash e ASP.

Importei um MOV pro flash, só que quando testo, o vídeo não começa.

Objeto Cookie no Flash que grava arquivos XML.

Quero fazer um objeto ser arrastado e que quando soltado (stopDrag) caia suavemente.

Como armazenar dados em uma base de dados para só depois serem importadas para o Access?

Como fazer um load individual para cada frame de meu filme?

Como carregar, via load Movie, um filme num determinado local (X,Y) do filme?

Como gerar uma seqüência randômica sem repetir os valores?

Preciso de um exemplo de um efeito de vibração?

Como usar o objeto LoadVars para carregar variáveis de um arquivo externo?

Que variáveis eu poderia usar para uma pergunta com 4 alternativas e uma só é correta.

Como passar parâmetros para um arquivo swf por meio de uma página html?

Campos dinâmicos não aceita máscaras?
Sistema de busca utilizando Flash + ASP.

Quando usar vetor ou bitmap?

Enquete interagindo Flash MX 2004 + PHP + MySql

Looping.

Calendário dinâmico

Flash Communication Server MX - Primeira Parte

Sistema de newsletter utilizando Flash + ASP

Duplo clique.

Sala de bate papo (chat) , com Flash+PHP

Create TextField.

Primeiros passos - Camadas e outras coisas

Objeto Movieclip - Endereçamento (primeira parte)
Circle

3dv3trails

Menu elástico

Menu Popup

Cyber efect

Tangran

Busca texto

Scrollbar easy

Barra interativa

Load dinâmico de fotos

Load image

Mapa do brasil
HOME | TUTORIAIS
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 :

Linha 2 : 'enablecfoutputonly' significa que somente o que estiver entre as tags 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.

Faça o download de todos or arquivos aqui.



Devido à reformulação implementada no site, pode ser que você encontre alguns links quebrados. Por favor, ajude-nos a corrigir eventuais problemas nos informando links quebrados
1 comentário


Comentário de erica cristiane campos pessoa
| 27/4/2012 - 20:40 |


gostaria muito de reformar a casa da minha mae esta prescisando muito ela merece