Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marco Crepaldi

Configurar código PHP de envio de email

Recommended Posts

Olá , baixei um templat free e consegui editar todo o seu conteúdo, mas não sei configurar o PHP de contato, o formulário de envio de e-mail que trabalha em conjunto com o flash e PHP do site,

 

Imagino que eu tenho que configurar os Arquivos PHP, existem os seguintes arquivo;

 

send_email

send_email_auto_response e dentro do arquivo .fla a actionscript 3.0 de contato.

 

Então segue os códigos do PHP e o Gerador de script de envio do meu servidor.

 

 

Código send_email

 

 

 

<?php
$contact_name = $_POST['name'];
$contact_email = $_POST['email'];
$contact_subject = $_POST['subject'];
$contact_message = $_POST['message'];

if( $contact_name == true )
{
$sender = $contact_email;
$receiver = "yourname@yourdomain.com";
$client_ip = $_SERVER['REMOTE_ADDR'];
$email_body = "Name: $contact_name \nEmail: $sender \n\nSubject: $contact_subject \n\nMessage: \n\n$contact_message \n\nIP: $client_ip \n\nFlash Contact Form provided by http-~~-//www.flashmo.com";
$extra = "From: $sender\r\n" . "Reply-To: $sender \r\n" . "X-Mailer: PHP/" . phpversion();
if( mail( $receiver, "Flash Contact Form - $contact_subject", $email_body, $extra ) )
{
echo "success=yes";
}
else
{
	echo "success=no";
}
}
?>

 

 

 

Segue Código send_email_auto_response

 

<?php
$contact_name = $_POST['name'];
$contact_email = $_POST['email'];
$contact_subject = $_POST['subject'];
$contact_message = $_POST['message'];

if( $contact_name == true )
{
$sender = $contact_email;
$receiver = "yourname@yourdomain.com";
$client_ip = $_SERVER['REMOTE_ADDR'];

$email_body = "Name: $contact_name \nEmail: $sender \n\nSubject: $contact_subject \n\nMessage: \n\n$contact_message \n\nIP: $client_ip \n\nFlash Contact Form provided by http-~~-//www.flashmo.com";
$email_body_auto_reply = "Hello $contact_name, \nThis is the auto reply message. Thank you. \n\nAdmin - http-~~-//www.flashmo.com";

$extra = "From: $sender\r\n" . "Reply-To: $sender \r\n" . "X-Mailer: PHP/" . phpversion();
$extra_auto_reply = "From: $receiver\r\n" . "Reply-To: $receiver \r\n" . "X-Mailer: PHP/" . phpversion();

mail( $sender, "Auto Reply - Re: $contact_subject", $email_body_auto_reply, $extra_auto_reply );	// auto reply mail to sender

if( mail( $receiver, "Flash Contact Form - $contact_subject", $email_body, $extra ) )
{
	echo "success=yes";
}
else
{
	echo "success=no";
}
}
?>

 

Comando ActionScript 3.0 (contato)

 

// C o p y r i g h t © f l a s h m o . c o m
// D e v e l o p e d b y M i n T h u


contact_name.text = contact_email.text = contact_subject.text =
contact_message.text = message_status.text = "";

send_button.addEventListener(MouseEvent.CLICK, submit);
reset_button.addEventListener(MouseEvent.CLICK, reset);

var timer:Timer;
var var_load:URLLoader = new URLLoader;
var URL_request:URLRequest = new URLRequest( "send_email.php" );
URL_request.method = URLRequestMethod.POST;

function submit(e:MouseEvent):void
{
	if( contact_name.text == "" || contact_email.text == "" ||
 	contact_subject.text == "" || contact_message.text == "" )
	{
 	message_status.text = "* Please fill up all text fields.";
	}
	else if( !validate_email(contact_email.text) )
	{
 	message_status.text = "* Please enter the valid email address.";
	}
	else
	{
 	message_status.text = "sending...";
 	
 	var email_data:String = "name=" + contact_name.text
 	+ "&email=" + contact_email.text
 	+ "&subject=" + contact_subject.text
 	+ "&message=" + contact_message.text;
 	
 	var URL_vars:URLVariables = new URLVariables(email_data);
 	URL_vars.dataFormat = URLLoaderDataFormat.TEXT;
 	
 	URL_request.data = URL_vars;
 	var_load.load( URL_request );
 	var_load.addEventListener(Event.COMPLETE, receive_response );
	}
}

function reset(e:MouseEvent):void
{
	contact_name.text = contact_email.text = contact_subject.text =
	contact_message.text = message_status.text = "";
}

function validate_email(s:String):Boolean
{
	var p:RegExp = /(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/;
	var r:Object = p.exec(s);
	if( r == null )
	{
 	return false;
	}
	return true;
}

function receive_response(e:Event):void
{
	var loader:URLLoader = URLLoader(e.target);
var email_status = new URLVariables(loader.data).success;
 
	if( email_status == "yes" )
	{
 	message_status.text = "Success! Your message was sent.";
 	timer = new Timer(500);
 	timer.addEventListener(TimerEvent.TIMER, on_timer);
 	timer.start();
	}
	else
	{
 	message_status.text = "Failed! Your message cannot sent.";
	}
}

function on_timer(te:TimerEvent):void
{
	if( timer.currentCount >= 10 )
	{
 	contact_name.text = contact_email.text = contact_subject.text =
 	contact_message.text = message_status.text = "";
 	timer.removeEventListener(TimerEvent.TIMER, on_timer);
	}
}

 

Gerador de script de envio

 

<HTML>

<HEAD>
<TITLE></TITLE>
</HEAD>

<BODY>

<FORM ACTION="http-~~-//form.ultramail.com.br/" METHOD="POST">
<P>
<!--
Formulário do cliente.
Especifique abaixo os campos que deseja enviar para e-mail.
Caso o campo assunto não seja preenchido, o sistema irá enviar o e-mail com o assunto Formulário UltraMail
-->
Nome: <BR><INPUT TYPE="text" NAME="nome" SIZE="24"><BR>
E-Mail: <BR><INPUT TYPE="text" NAME="email" SIZE="24"><BR>
Assunto: <BR><INPUT TYPE="text" NAME="assunto" SIZE="24"><BR>
Mensagem: <BR><TEXTAREA NAME="mensagem" ROWS="8" COLS="20"></TEXTAREA>

<!--
Chave de autenticação no UltraMail para o MailBox.
Se a senha do MailBox for alterada esta chave deverá ser gerada novamente através do seu painel de controle.
-->
<INPUT TYPE="hidden" NAME="key" VALUE="eJwByAA3/5HIlkLz6oPYoad67BpfiDtWRIydPvx2KnOAtrhvRuVPRm9ybVVsdHJhTWFpbDXzXBRISwICKLc+j4WveJEtuM5+Ay/3/VUqQLwfO70WACdJFQ7gi91bKqEQ8mEl6wBwhwBD93K56PPBFweleEfzHdnsCM9hP4b53StEy1Hh8K1KEswtZGnYcsphm8X1M5zlsUNbcGPFr8KA1tSeqny0XUhT5SXECSwg0uMFuZMj3LvliUI8RrVGw01jK3wgz2qaXGTybp8QnaTgigRhrw==">

<!--
Pagina de conclusão do formulário de envio. Altere para a página desejada
-->
<INPUT TYPE="hidden" NAME="redirect" VALUE="http-~~-//williambibiano.com/PaginaDeResposta.html">

<INPUT TYPE="submit" VALUE="Enviar">
<INPUT TYPE="reset" VALUE="Limpar">
</P>
</FORM>

</BODY>
</HTML>

 

Para que vocês posssam visualizar o meu problema, segue o link externo para download do arquivo .fla

Tamanho do arquivo 2.46 MB

 

http://www.flashmo.c..._motion_gallery

 

 

 

AGRADEÇO A ATENÇÃO PRESTADA.

Valeu,

Marco Crepaldi

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marco, posso lhe auxiliar a editar os campos no PHP e AS3 para este form do flashmo, já fiz isso e sei que funciona.

 

Mas preciso lhe dizer que terá problemas com a codificação (para reconhecer a acentuação) e não é tão simples ajustar isso.

 

Então lhe sugiro dar uma olhada na sessão Artigos e Tutoriais, no fórum de Flash, um form em AS3 + PHP do berseck, que funciona legal.

 

http://forum.imasters.com.br/index.php?/topic/332293-tutorial-formulario-de-email-facil-em-as3-php/

 

 

Quanto ao ultramail não sei informar, meu server não usa esse recurso.

 

 

ps: se mesmo assim decidir usar o form do flashmo, como eu fiz, apenas para aprender, é só dar um toque, só não uso o auto_response (por falta de interesse).

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Slider,

 

Gostaria sim do seu auxilio, eu dei uma olhada lá no FORUM, mas confesso que fiquei um pouco perdido, queria aprender pelo flashmo que eu to por dentro. Eu tb não tenho interesse em auto response, enquanto a acentuação to nem aí.. chegando o e-mail é o que importa.

 

Abraço

Marco

Compartilhar este post


Link para o post
Compartilhar em outros sites

Slider??? Será que é comigo? hahahhhh! :D

 

Ok Marco, conforme prometi, publiquei um exemplo no server, exatamente o que estou postando. Clique aqui

 

Depois que testar, por favor me informe, meu server tá atolado de extras.

 

AS3, as alterações que fiz foi no nome dos campos e mensagem de status, para português. Observe de manter o mesmo instance name (painel properties) usado no action.

 

Outro detalhe, os forms do flashmo usam caixa de texto dinâmico, eu uso componentes, tanto faz, basta que estejam instanciados corretamente.

 

contato_nome.text = contato_email.text = contato_assunto.text = 
contato_mensagem.text = mensagem_status.text = "";

enviar_btn.addEventListener(MouseEvent.CLICK, envia);
limpar_btn.addEventListener(MouseEvent.CLICK, limpa);

var timer:Timer;
var var_load:URLLoader = new URLLoader;
var URL_request:URLRequest = new URLRequest( "send_email.php" );
URL_request.method = URLRequestMethod.POST;

function envia(e:MouseEvent):void
{
	if( contato_nome.text == "" || contato_email.text == "" ||
		contato_assunto.text == "" || contato_mensagem.text == "" )
	{
		mensagem_status.text = "Por favor preencha todos os campos de texto.";
	}
	else if( !validate_email(contato_email.text) )
	{
		mensagem_status.text = "Por favor informe um endereço de email válido.";
	}
	else
	{
		mensagem_status.text = "enviando...";
		
		var email_data:String = "name=" + contato_nome.text
					   + "&email=" + contato_email.text
					   + "&subject=" + contato_assunto.text
					   + "&message=" + contato_mensagem.text;
					   
		var URL_vars:URLVariables = new URLVariables(email_data);
		URL_vars.dataFormat = URLLoaderDataFormat.TEXT;
		
		URL_request.data = URL_vars;
		var_load.load( URL_request );
		var_load.addEventListener(Event.COMPLETE, receive_response );
	}
}

function limpa(e:MouseEvent):void
{
	contato_nome.text = contato_email.text = contato_assunto.text = 
	contato_mensagem.text = mensagem_status.text = "";
}

function validate_email(s:String):Boolean 
{
	var p:RegExp = /(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/;
	var r:Object = p.exec(s);
	if( r == null ) 
	{
		return false;
	}
	return true;
}

function receive_response(e:Event):void
{
	var loader:URLLoader = URLLoader(e.target);
    var email_status = new URLVariables(loader.data).success;
	
	if( email_status == "yes" )
	{
		mensagem_status.text = "Sua mensagem foi enviada com sucesso.";
		timer = new Timer(500);
		timer.addEventListener(TimerEvent.TIMER, on_timer);
		timer.start();
	}
	else
	{
		mensagem_status.text = "Falha. Sua mensagem não foi enviada.";
	}
}

function on_timer(te:TimerEvent):void 
{
	if( timer.currentCount >= 10 )
	{
		contato_nome.text = contato_email.text = contato_assunto.text = 
		contato_mensagem.text = mensagem_status.text = "";
		timer.removeEventListener(TimerEvent.TIMER, on_timer);
	}
}

 

 

Agora vamos ao PHP, removi as frescuras, anotar IP do usuário e auto-resposta.

 

Observe que também alterei os campos para português, idem ao action.

 

A única coisa que você precisa alterar é "contato@fulano.com.br", onde deve inserir o seu endereço de email.

 

 

<?php
$contato_nome = $_POST['name'];
$contato_email= $_POST['email'];
$contato_assunto = $_POST['subject'];
$contato_mensagem = $_POST['message'];

if( $contato_nome == true )
{
	$sender = $contato_email;
	$receiver = "contato@fulano.com.br";
	
	$email_body = "Nome: $contato_nome \nEmail: $sender \n\nAssunto: $contato_assunto \n\nMensagem: \n\n$contato_mensagem";
	$extra = "From: $sender\r\n" . "Reply-To: $sender \r\n" . "X-Mailer: PHP/" . phpversion();

	if( mail( $receiver, "Contato - $contato_assunto", $email_body, $extra ) ) 
	{
		echo "success=yes";
	}
	else
	{
		echo "success=no";
	}
}
?>

 

Quanto ao gerador de script do seu server não faço nem idéia como usar.

 

Uso o DialHost, basta enviar a index, o swf e o php (send_email), neste exemplo, onde temos apenas a página de contato.

 

Lembre-se do que falei, terá problemas com a acentuação, o que irá dificultar a leitura da mensagem.

 

É apenas para ter uma idéia de como fazer as alterações necessárias no action e php.

 

 

Abraços e bom estudo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marco, informo que o exemplo publicado no meu server não está mais disponível para visualização.

 

Testar fica agora por sua conta.

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valei slide, Agora acertei? rs

 

 

essa semana foi correria, mas eu cheguei a dar uma olhada no código, alterei tudo e deu erro, fala que a msg não pode ser enviada, eu vou ainda tentar mais algumas vezes e depois eu posto minhas dúvidas.

 

essa vida de aprendiz não é fácil, em breve vou pagar um curso, mas sou desacreditado de tantos cursos, é só dinheiro jogado fora.

 

Abs

Marco

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alguns servidores tem suas exigências para o funcionamento de forms em PHP.

 

Dá uma lida nesse tópico, talvez seja algo semelhante:

 

http://forum.imasters.com.br/index.php?/topic/398773-formulario-flahsphp/page__pid__1566445__st__0entry1566445

 

Espero que tenha conseguido testar o exemplo que publiquei para você no meu server, foi exatamente o mesmo que postei.

 

Também não aprendi isso em curso (e paguei bem caro em um centro de treinamento bala). Assim como você, baixei um template do Flashmo e meti a cara. Editei sozinha, publiquei e funcionou. Só depois de muito tempo consegui auxílio para os ajustes na codificação (isso eu fico lhe devendo, não foi meu trabalho).

 

Sugiro que entre em contato com o suporte técnico do seu server para maiores esclarecimentos. Se tiver novidades informe, talvez outros colegas possam auxiliar.

 

Se necessário, também adicione um tópico no fórum de AS3.

 

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marco,

 

Boa noite, meu nome é Hudson e baixei um template em flash bem parecido com o seu, estou tendo os mesmos problemas que você, porém estou seguindo os conselhos da Elektra, mas preciso saber como você fez e/ou qual a versão do Flash usou para editar e alterar as cores de background de toda a tela, fiz isso mas fica sujeira e estou usando o flash 3.

 

Obrigado.

hudson_cordeiro@hotmail.com

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, sou nova aqui e estou tendo o mesmo problema no código do e-mail!

Alguem conseguiu finalizar?

hud007 eu baixei um template e consegui editar legal com o Flash CS4, consegui

um resultado legal.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Viva a todo o forum,

Tenho tentado editar também um template da flashmo, onde o código de envio de email é igual a este.

E não consigo fazer com que seja enviado um email com este código...

É certo que estou a fazer alguma coisa mal.

Embora não perceba nada de flash (tenho partido pedra com a cabeça).

Já editei o email para onde será enviado o email pelo formulário e a mensagem que aparece depois de ter enviado é

"sending..."

 

A minha pergunta é: não será preciso editar esta linha de código?

 

$client_ip = $_SERVER['REMOTE_ADDR'];

 

Não sei o que fazer mais...

Qualquer ajuda será muito apreciada, desde já muito obrigada.

 

Cump

Denfox

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá uma olhada nesse post que explica de forma simples e ainda tem sa configurações na primeira linha do arquivo para você não precisar ficar revirando o código.

 

Formulário de contato e envio de e-mail [script]

 

Mas especificamente no último arquivo o envia_email.php

 

Baixa a classe phpMailer e é só brincar, pois é bem mais fácil de usar e compativel com as hospedagens.

 

Fica ai a dica

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.