CaioYuji 0 Denunciar post Postado Julho 17, 2012 Olá pessoal! estou com um problema em um formulario de contato para meu site. Ele possui os campos apenas de: nome, email, telefone e mensagem. mas não está enviando para o e-mail desejado! (servidor em que está hospedado é da locaweb) vou colocar para vocês a estrutura para que analisem e se puder me ajudem =/ formulario.html <form action="envia.php" method="POST" onsubmit="return verificar_form(this)"> <label><img src="imagens/nome.png" /></label><br /> <input name="nomeremetente" id="nomeremetente" type="text" size="38"/><br /> <label><img src="imagens/email.png" /><label><br /> <input name="emailremetente" id="emailremetente" type="text" size="38"/><br /> <label><img src="imagens/telefone.png" /></label><br /> <input name="telefone" type="text" id="telefone" size="38"/><br /> <label><img src="imagens/mensagem.png" /></label><br /> <textarea name="mensagem" id="mensagem" cols="36" rows="4" class="fomu"></textarea><br /><br /> <input type="submit" value="Enviar Mensagem!"/> </form> e abaixo segue a estrutura em php envia.php <?php if(!isset($_POST[submit])) die("Não recebi nenhum par&acitc;metro. Por favor volte ao formulario.html antes"); /* Medida preventiva para evitar que outros domínios sejam remetente da sua mensagem. */ if (eregi('tempsite.ws$|locaweb.com.br$|hospedagemdesites.ws$|websiteseguro.com$', $_SERVER[HTTP_HOST])) { $emailsender='contato@skymat.com.br'; } else { $emailsender = "locaweb@" . $_SERVER[HTTP_HOST]; // Na linha acima estamos forçando que o remetente seja 'webmaster@seudominio', // você pode alterar para que o remetente seja, por exemplo, 'contato@seudominio'. } /* Verifica qual é o sistema operacional do servidor para ajustar o cabeçalho de forma correta. Não alterar */ if(PHP_OS == "Linux") $quebra_linha = "\n"; //Se for Linux elseif(PHP_OS == "WINNT") $quebra_linha = "\r\n"; // Se for Windows else die("Este script nao esta preparado para funcionar com o sistema operacional de seu servidor"); // Passando os dados obtidos pelo formulário para as variáveis abaixo $nomeremetente = $_POST['nomeremetente']; $emailremetente = trim($_POST['emailremetente']); $emaildestinatario = 'contato@skymat.com.br'; $comcopia = trim($_POST['comcopia']); $comcopiaoculta = trim($_POST['comcopiaoculta']); $telefone = $_POST['telefone']; $mensagem = $_POST['mensagem']; /* Montando a mensagem a ser enviada no corpo do e-mail. */ $mensagemHTML = '<P>Esse email é um teste enviado no formato HTML via PHP mail();!</P> <P>Aqui está a mensagem postada por você formatada em HTML:</P> <p><b><i>'.$mensagem.'</i></b></p> <hr>'; /* Montando o cabeçalho da mensagem */ $headers = "MIME-Version: 1.1".$quebra_linha; $headers .= "Content-type: text/html; charset=iso-8859-1".$quebra_linha; // Perceba que a linha acima contém "text/html", sem essa linha, a mensagem não chegará formatada. $headers .= "From: ".$emailsender.$quebra_linha; $headers .= "Return-Path: " . $emailsender . $quebra_linha; // Esses dois "if's" abaixo são porque o Postfix obriga que se um cabeçalho for especificado, deverá haver um valor. // Se não houver um valor, o item não deverá ser especificado. if(strlen($comcopia) > 0) $headers .= "Cc: ".$comcopia.$quebra_linha; if(strlen($comcopiaoculta) > 0) $headers .= "Bcc: ".$comcopiaoculta.$quebra_linha; $headers .= "Reply-To: ".$emailremetente.$quebra_linha; // Note que o e-mail do remetente será usado no campo Reply-To (Responder Para) /* Enviando a mensagem */ mail($emaildestinatario, $telefone, $mensagemHTML, $headers, "-r". $emailsender); /* Mostrando na tela as informações enviadas por e-mail */ print "Mensagem <b>$assunto</b> enviada com sucesso!<br><br> De: $emailsender<br> Para: $emaildestinatario<br> Com cópia: $comcopia<br> Com cópia Oculta: $comcopiaoculta<br> <p><a href='".$_SERVER["HTTP_REFERER"]."'>Voltar</a></p>" ?> Se alguem por favor puder me ajudar ficarei muito grato pois estou tentando resolver este problema a muito tempo. Obs:Já entrei em contato com o suporte da locaweb mas está tudo operando normalmente o problema é no script mesmo Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
FabianoSS 0 Denunciar post Postado Julho 17, 2012 Eu também tive problemas com envio de email na locaweb. Eles permitem envio de dados somente através de um email do domínio hospedado. O emailsender não pode ser o email do usuário que manda a mensagem, tem que ser um email do seu domínio. Eu estou usando o script abaixo que é bem simples para hospedagem Linux. <? $mensagem = "Nome: ".$_POST['nome']." \n"; //email que o usuário preencheu $mensagem .= "Email: ".$_POST['email']." \n"; $mensagem .= "Assunto: ".$_POST['assunto']." \n"; $mensagem .= "Telefone: ".$_POST['fone']." \n"; $mensagem .= "Mensagem: ". $_POST['mensagem']; $headers = ""; //email do seu domínio hospedado $emailsender = "webmaster@xxxx.com.br"; //email de quem vai receber $emaildestinatario = "xxx@xxx.com.br"; $assunto = "Mensagem do site www.fsantos.net.br"; // Envio dos dados do Formulário para seu e-mail: if(!mail($emaildestinatario, $assunto, $mensagem, $headers ,"-r".$emailsender)) { // Se for Postfix - hospedagem linux $headers .= "Return-Path: " . $emailsender . $quebra_linha; } echo ' <script type="text/JavaScript"> alert("Seu e-mail foi enviado com sucesso. Obrigado"); location.href="contato.htm" </script> '; ?> Compartilhar este post Link para o post Compartilhar em outros sites
CaioYuji 0 Denunciar post Postado Julho 17, 2012 Vou testar Fabiano! jaja aviso se funcionou! Cara MUUUUUITO obrigado! deu certinho e perfeito aqui! locaweb foi o unico servidor que tive problemas com isso >.< Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
FabianoSS 0 Denunciar post Postado Julho 18, 2012 Que bom que deu certo. Eu também sofri bastante. Infelizmente o suporte da Locaweb é muito fraco e o serviço também. Estou tendo muitos problemas de conexão e lentidão. Ainda hoje tive problemas com a conexão FTP via Dreamweaver. Tentei ajuda do help desk deles, mas o atendente pediu para fazer uns testes nada haver. Cansei de esperar e fui pesquisar o problema. Pelo jeito, FTP ativo não funciona direito na Locaweb, somente FTP passivo. O help desk da Locaweb não conversa com os administradores dos servidores. Compartilhar este post Link para o post Compartilhar em outros sites
Paulinho Oliveira 0 Denunciar post Postado Janeiro 7, 2013 Pow ai, FabianoSS. Depois de dias de procura, enfim uma alma caridosa que desvenda-se essa fuzarca que é os padrões de forms da LocaWeb. Aff. Valeu mesmo irmão. Deus abençoe! Compartilhar este post Link para o post Compartilhar em outros sites
Ricardo Aragão 0 Denunciar post Postado Junho 23, 2013 Pessoal, por favor me ajudem. Usei esse código e obtive a seguinte mensagem ao realizar o envio: PHP Warning: mail() [<a href='function.mail'>function.mail</a>]: "sendmail_from" not set in php.ini or custom "From:" header missing in E:\home\casttecnologiaearte\web\novo\contato.php on line 17 Vocês sugerem algum diagnóstico? O servidor é localweb, windows. Tomei o cuidado de substituis os "/n" por "/r/n". Muito obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
Viviane Luchi 0 Denunciar post Postado Julho 15, 2013 Você é o cara, depois de milhares tentativas usando outros códigos, o único que funfou foi esse. Valeu!! Compartilhar este post Link para o post Compartilhar em outros sites
willianmedeiros 0 Denunciar post Postado Agosto 1, 2013 FabianoSS - Muitíssimo obrigado!!!!! Salvou a minha vida! E acredito que de muitos.No caso do e-mail webmaster@dominio.com.br (onde domínio.com.br é o contratado) é um e-mail padrão da LOCAWEB. Estranho, mas ele aparece por padrão no painel, por se tratar do e-mail do administrador. Os caras da LocaWeb não informam nada, atendimento péssimo. \o/\o/\o/\o/muito obrigado!! Compartilhar este post Link para o post Compartilhar em outros sites
Glauciomendes 0 Denunciar post Postado Outubro 16, 2016 FabianoSSMuito obrigado!!! Funcionou!!! Compartilhar este post Link para o post Compartilhar em outros sites