Ir para conteúdo

POWERED BY:

Arquivado

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

Wilherme

Formulário de Email

Recommended Posts

Boa noite, estou com um problema em meu formulario de e-mail que retirei direto do site uolHost.

Usava outro formulario porem na UolHost tem que ser o formulario deles.

 

Ele valida, limpa a tela porem o e-mail não chega.

 

Poderiam me ajudar?

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <link href="style.css" rel="stylesheet" type="text/css" media="all"/> 
		<link rel="stylesheet" href="coin-slider-styles.css" type="text/css" />
		<script type="text/javascript" src="coin-slider.min.js"></script>	
        <script type="text/javascript" src="jquery.js"></script>
		<script src="jphotogrid.js"></script>
		<script type="text/javascript" src="coin-slider.min.js"></script>
        <link rel="stylesheet" href="coin-slider-styles.css" type="text/css" />
        <title>AR Instal</title>
    </head>
    <body>
     <div class="total">
     	<div id="topo">
     		 <h1 align="center">AR Inslal - Comércio e serviços elétricos Ltda.</h1>
     		
     	</div>
     	<div id="menu" class="center">
     		<ul>
  				<li><a href="index.html">Home</a></li>
  				<li><a href="servicos.html">Serviços</a></li>
  				<li><a href="contato.php">Contato</a></li>
  			</ul>
     	</div>
     	<div id="meio"> 
	
     		<script>
			function validar(formulario){
				if(formulario.nomeRemetente.value == ''){
					alert("O campo NOME é obrigatório.");
					return false;
				}
				if(formulario.email.value == ''){
					alert("O campo EMAIL é obrigatório.");
					return false;
				}
				if(formulario.email.value.indexOf(('@' && '.'),0)== -1){
					alert("EMAIL invalido.");
					return false;
				}
				if(formulario.assunto.value == ''){
					alert("O campo ASSUNTO é obrigatório.");
					return false;
				}
				if(formulario.mensagem.value == ''){
					alert("O campo MENSAGEM é obrigatório.");
					return false;
				}
				if(formulario.mensagem.value.length < 10){
					alert("A MENSAGEM está muito curta.");
					return false;
				}
				return true;
			}
		</script> <!--***fim validar formulario***-->
		<br><br>
		
	<div>
	Para se comunicar conosco, basta preencher os dados logo abaixo, ou<br>
se preferir pode enviar um email para email@dominio.com.br
<br>
</div><br><br>
<body>
<div style='margin:0px; margin-left:200px;'>
<form id="formulario" name="contato" method="post" onsubmit="return validar(this);" action=""> 

<tr>

 <?php
if (isset($_POST['enviar']))
{

print "<h4 align=\"center\">A mensagem foi enviada com sucesso, entraremos em contato em breve.</h4>";

}
 ?>
</tr>
	<table>
			<tr>
			<td><label> Nome:  </label></td>
			<td><input type="text" name="nomeRemetente" size="51" /><small>*</small><br class="clear" /></td>
			</tr>
			
			<tr>
			<td><label> Telefone:  </label></td>
			<td><input type="text" name="telelefone" size="51" /><br class="clear" /></td>
			</tr>
			
			<tr>
			<td><label> Email:  </label></td>
			<td><input type="text" name="email" size="51" /><small>*</small><br class="clear" /></td>
			</tr>
			
			<tr>
			<td><label> Assunto:  </label> </td>
			<td><input type="text" name="assunto" size="51" /><small>*</small><br class="clear" /></td>
			</tr>
			</table>
			<tr>
			<td><label>Mensagem:</label><textarea name="mensagem" cols="40" rows="7" > </textarea><small>*</small><br class="clear" /></td>
			<span><small>*</small> Campos são obrigatórios.</span><br class="clear" />
			<td><input type="submit" class="botao" name="enviar" value="Enviar" /></td>
			<td><input type="reset" class="botao" name="limpar" value="Limpar" /><br class="clear" /></td>
			</tr>
			
			</form>
			</div>
	</body>	
     		
     		
     		</div>
    	<div id="rodape"> 
     		<div id="texto_rodape">
     			<ul>
  				<li><a href="index.html">Home</a></li>
  				<li><a href="servicos.html">Serviços</a></li>
  				<li><a href="contato.php">Contato</a></li>
  			</ul>
     		</div>
     	</div>
     </div>
         </body>
</html>




<?php
/*apenas dispara o envio da mensagem caso houver/existir $_POST['enviar']*/
if (isset($_POST['enviar']))

{
/*digite os destinatarios separados por virgula*/
$destinatarios = 'email@dominio.com.br';
/*usuario ou nome completo da conta criada em sua hospedagem, como por exemplo teste@seudominio*/
$usuario = 'email@dominio.com.br';
/*senha da conta de email acima*/
$senha = 'senhaAqui';
/*nome do destinatario no qual receberá a mensagem*/
$nomeDestinatario = 'mensagem do site';

/*abaixo as veriaveis principais, que devem conter em seu formulario*/
$headers .= "Content-type: text/html; charset= utf8_decode ( string $data )";
$nomeRemetente = $_POST['nomeRemetente'] ;
$telefone = $_POST['telefone'];
$resposta = $_POST['email'];
$assunto = $_POST['assunto'];
$_POST['mensagem'] = nl2br($_POST['mensagem']) ;

/***********************************A PARTIR DAQUI NAO ALTERAR************************************/
foreach ($_POST as $dados['me1'] => $dados['me2'])

{

$dados['me3'][] = '<b>'.$dados['me1'].'</b>: '.$dados['me2'];

}

$dados['me3'] = '<hr><h4>Mensagem do site</h4>'.implode('<br>', $dados['me3']).'<hr>';

$dados['email'] = array('usuario' => $usuario, 'senha' => $senha, 'servidor' => 'smtp.'.substr(strstr($usuario, '@'), 1), 'nomeRemetente' => $nomeRemetente, 'telefone' => $telefone, 'nomeDestinatario' => $nomeDestinatario, 'resposta' => $resposta, 'assunto' => $assunto, 'mensagem' => $dados['me3']);

ini_set('php_flag mail_filter', 0);

$conexao = fsockopen($dados['email']['servidor'], 587, $errno, $errstr, 10);
fgets($conexao, 512);

$dados['destinatarios'] = explode(',', $destinatarios);

foreach ($dados['destinatarios'] as $dados['1'])

{

$dados['destinatarios']['RCPTTO'][] = '< '.$dados['1'].' >';
$dados['destinatarios']['TO'][] = $dados['1'];

}

$dados['cabecalho'] = array('EHLO ' => $dados['email']['servidor'], 'AUTH LOGIN', base64_encode($dados['email']['usuario']), base64_encode($dados['email']['senha']), 'MAIL FROM: ' => '< '.$dados['email']['usuario'].' >', 'RCPT TO:' => $dados['destinatarios']['RCPTTO'], 'DATA', 'MIME-Version: ' => '1.0', 'Content-Type: text/html; charset=utf-8', 'Date: ' => date('r',time()), 'From: ' => array($dados['email']['nomeRemetente'].' ' => '< '.$dados['email']['usuario'].' >'), 'To:' => array($dados['email']['nomeDestinatario'].' ' => $dados['destinatarios']['TO']), 'Reply-To: ' => $dados['email']['resposta'],'Subject: ' => $dados['email']['assunto'], 'mensagem' => $dados['email']['mensagem'], 'QUIT');

foreach ($dados['cabecalho'] as $dados['2'] => $dados['3'])

{

if (is_array($dados['3']))

{

foreach ($dados['3'] as $dados['4'] => $dados['5'])

{

$dados['4'] = empty($dados['4']) ? '' : $dados['4'];
$dados['5'] = empty($dados['5']) ? '' : $dados['5'];

$dados['4'] = is_numeric($dados['4']) ? '' : $dados['4'];

if (is_array($dados['5']))

{

$dados['5'] = "< ".implode(', ', $dados['5'])." >";

}

fwrite($conexao, $dados['2'].$dados['4'].$dados['5']."\r\n", 512).'<br>';
fgets($conexao, 512);

}

}

else

{

$dados['2'] = empty($dados['2']) ? '' : $dados['2'];
$dados['3'] = empty($dados['3']) ? '' : $dados['3'];

$dados['2'] = is_numeric($dados['2']) ? '' : $dados['2'];

if ($dados['2'] == 'Subject: ')

{

fwrite($conexao, $dados['2'].$dados['3']."\r\n", 512).'<br>';
fwrite($conexao, "\r\n", 512).'<br>';
fgets($conexao, 512);

}

elseif ($dados['2'] == 'mensagem')

{

fwrite($conexao, $dados['3']."\r\n.\r\n").'<br>';
fgets($conexao);

}

else

{

fwrite($conexao, $dados['2'].$dados['3']."\r\n", 512).'<br>';
fgets($conexao, 512);

}

}

}

fclose($conexao);

}

?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Andrew Marques, esse código suportamente envia o email via socket direto com o servidor, assim não precisa da função mail() do php

 

Verifique se não está caindo na caixa de spam, e se o email do FROM, pertence ao mesmo domínio que está enviando o email.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@william Bruno verifiquei no spam e não está, sim o e-mail pertence ao mesmo domínio.

A principio usaria um formulário que com a ajuda do fórum aqui consegui arrumar porém o Uolhost só da suporte ao formulário deles mesmo, resumindo outro formulário não funciona.

 

 

Alguem tem uma sugestão?

 

 

Pois com o pessoal da Uolhost não dá pra contar com eles.

 

 

Alguma ideia pessoal?

 

 

 

 

Galera?

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.