Web.Hard 0 Denunciar post Postado Abril 17, 2011 Bom dia, Migrei minha hospedagem da locaweb para UOL. O site funcionou direitinho, porém o formulario de contato não envia mensagens de pessoas que possuem email @ hotmail, @gmail, @ msn, @ yahoo etc...Já falei com o atendimento deles umas 40 vezes, abri 3 chamados, já testei os códigos das Faq e tópicos de ajuda deles umas 100 vezes e nada dos emails chegarem, já estou a mais de uma semana trabalhando nisso e já não sei mais por onde recomeçar. Falam de autenticação SMTP e já testei o PHPmailer mais não chegou a funcionar. Meu site é em Flash com Action Script 3. Seguem os códigos do send_email.php e a action do formulario caso seja preciso: send_mail.php <?php $contact_name = $_POST['nome']; $contact_email = $_POST['email']; $contact_subject = $_POST['assunto']; $contact_message = $_POST['mensagem']; if( $contact_name == true ) { $destinatarios = "contato@meudominio.com.br"; $remetente = "contato@meudominio.com.br"; $host = "smtp.meudominio.com.br"; $username = "contato@meudominio.com.br"; $password = "123456"; $sender = $contact_email; $receiver = "contato@meudominio.com.br"; $client_ip = $_SERVER['REMOTE_ADDR']; $email_body = "Nome: $contact_name \nEmail: $sender \n\nAssunto: $contact_subject \n\nMensagem: \n\n$contact_message \n\nIP: $client_ip \n\nMeu Site"; $extra = "From: $sender\r\n" . "Reply-To: $sender \r\n" . "X-Mailer: PHP/" . phpversion(); if( mail( $receiver, "Mensagem Site - $contact_subject", $email_body, $extra ) ) { echo "success=yes"; } else { echo "success=no"; } } ?> Action do formulario Flash (AS3): 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 = "* Por favor, preencha todos os campos."; } else if( !validate_email(contact_email.text) ) { message_status.text = "* Por favor, insira um e-mail válido."; } else { message_status.text = "enviando..."; var email_data:String = "nome=" + contact_name.text + "&email=" + contact_email.text + "&assunto=" + contact_subject.text + "&mensagem=" + 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 = "Obrigado! Sua mensagem foi enviada."; timer = new Timer(500); timer.addEventListener(TimerEvent.TIMER, on_timer); timer.start(); } else { message_status.text = "Erro! Sua mensagem não foi enviada."; } } 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); } } Qualquer ajuda é bem vinda. Obrigado a todos. Compartilhar este post Link para o post Compartilhar em outros sites
MiqueiasBarros 0 Denunciar post Postado Abril 17, 2011 Olá Web.Hard, Então vamos lá... contato.html <form action="enviar.php" method="POST"> <input type="hidden"> <!-- e-mail do destinatario --> <center> <table width="39%" border="0" align="center" cellspacing="0" cellpadding="0"> <tr> <td>Nome:<br> <input type="text" size="30" name="nome" value=""></td> </tr> <tr> <td>E-mail:<br> <input type="text" size="30" name="email" value=""></td> </tr> <tr> <td>Assunto:<br> <input type="text" size="30" name="assunto" value=""></td> </tr> <tr> <td>Mensagem:<br> <textarea cols="40" rows="10" name="mensagem"></textarea> </td> </tr> <tr> <td> <input name="submit" type="submit" value="Enviar"> <input name="reset" type="reset" value="Limpar"></td> </tr> </table> </center> </form> Agora é o enviar.php <? // ==================== // By MiqueiasBarros // Não tire os créditos // ==================== // aqui começa o script //pega as variaveis por POST $nome = $_POST["nome"]; $site = $_POST["site"]; $email = $_POST["email"]; $fone = $_POST["fone"]; $assunto = $_POST["assunto"]; $mensagem = $_POST["mensagem"]; global $email; //função para validar a variável $email no script todo $data = date("d/m/y"); //função para pegar a data de envio do e-mail $ip = $_SERVER['REMOTE_ADDR']; //função para pegar o ip do usuário $navegador = $_SERVER['HTTP_USER_AGENT']; //função para pegar o navegador do visitante $hora = date("H:i"); //para pegar a hora com a função date //aqui envia o e-mail para você mail ("exemplo@exemplo.com.br", //email aonde o php vai enviar os dados do form "$assunto", "Nome: $nome\nData: $data\nIp: $ip\nNavegador: $navegador\nHora: $hora\nSite: $site\nE-mail: $email\nTelefone: $fone\n\nMensagem: $mensagem", "From: $email" ); //aqui são as configurações para enviar o e-mail para o visitante $site = "exemplo@exemplo.com.br"; //o e-mail que aparecerá na caixa postal do visitante $titulo = "Coloca um título aqui"; //titulo da mensagem enviada para o visitante $msg = "$nome, obrigado por entrar em contato conosco, em breve entraremos em contato"; //aqui envia o e-mail de auto-resposta para o visitante mail("$email", "$titulo", "$msg", "From: $site" ); echo "<p align=center>$nome, sua mensagem foi enviada com sucesso!</p>"; echo "<p align=center>Estaremos retornando em breve.</p>"; // ==================== // By MiqueiasBarros // Não tire os créditos // ==================== ?> Então é isso aê, espero ter ajudado... OBS: Não retire os créditos por favor ok? Até mais... Compartilhar este post Link para o post Compartilhar em outros sites
Web.Hard 0 Denunciar post Postado Abril 17, 2011 Boa tarde Miqueias, Obrigado pelo código postado, vou tentar adaptar aqui no meu.. O problema é que o seu código é baseado em um form feito em html...o meu form esta em Flash (Action Script 3). De qualquer forma vou criar uma pagina html e tentar enviar emails com @hotmail, @gmail, @msn, @ yahoo etc... Esse tem sido o foco do problema... Obrigado... Compartilhar este post Link para o post Compartilhar em outros sites
MiqueiasBarros 0 Denunciar post Postado Abril 18, 2011 Boa tarde Miqueias, Obrigado pelo código postado, vou tentar adaptar aqui no meu.. O problema é que o seu código é baseado em um form feito em html...o meu form esta em Flash (Action Script 3). De qualquer forma vou criar uma pagina html e tentar enviar emails com @hotmail, @gmail, @msn, @ yahoo etc... Esse tem sido o foco do problema... Obrigado... A mano, beleza, qualquer coisa você pode falar aê... Compartilhar este post Link para o post Compartilhar em outros sites