Ir para conteúdo

POWERED BY:

Arquivado

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

IAMDIX

[Resolvido] Formulario contato

Recommended Posts

Tenho mais uma duvida aqui.

 

estou recebendo o formulario beleza no meu Outlook Express....se clicar na aba responder vai para o localhost do servidor.

 

Qual codigo preciso implementar para que automaticamente quando recebo o formulario e clico em responder na aba "para" já tenha escrito o email do remetente?

 

desde já agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acredito que a linha a mudar seja essa pois quando clico em responder na no campo 'para' do Outlook express vem escrito Contato do formulario do site enquanto seria mais utel ja ter o email do remetente ....tentei mudar uns codigos que achei na net mas sem resultado...

 

 

$mail_headers .= 'From: Contato do formulario do site<contato@' . $_SERVER[ 'SERVER_NAME' ] . '>' . "\r\n";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use o header Reply-To. Ex:

 

$headers .= 'Reply-To: lalala@dominio.com.br' . PHP_EOL;

 

[]'s

 

Matheus,

 

não entendi se é para substituir a linha

$mail_headers .= 'From: Contato do formulario do site<contato@' . $_SERVER[ 'SERVER_NAME' ] . '>' . "\r\n";

com essa

$headers .= 'Reply-To: lalala@dominio.com.br' . PHP_EOL;

 

pois testei varias formas e não deu certo ...essa linha pega os dados do servidor do remetente ou do campo email do meu formulario?

 

eu testei tb essa pensando em pegar o campo email do formulario mas não deu

$mail_headers .= "Reply-To: ".$email. "\r\n";

 

O ideal seria pegaros dados do dominio de quem manda o email mas como ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dei mais um passo ....acho

 

com essa nova linha no codigo:

$mail_headers     .= sprintf( "Reply-To: {$_POST['email']}") . "\r\n"; //nova linha de codigo

 

testando no wamp no meu pc na aba 'De' do Outlook Express está meu email e respondendo aparece o email que está no campo email do formulario (nessa parte ok)

testando no servdor pago na aba 'De' do Outlook Express está Nobody e respondendo aparece o email que está no campo email do formulario (nessa parte ok)

 

 

 

<?php
error_reporting(E_ALL);
$dados = array(
       'nome',
       'cidade',
       'estado',
       'tel',
       'email',
       'checkin',
       'checkout',
       'adultos',
       'criancas',
       'comentarios',
       'escolha',
);
$mensagem = 'Seguem dados da mensagem:<br /><br />';
foreach( $dados as $campo ):
       if ( !array_key_exists( $campo , $_POST ) ) continue;
	$mensagem .= sprintf( '%s: %s<br />' , ucfirst( $campo ) , strip_tags( rtrim( $_POST[ $campo ] , '&' ) ) );
      // $mensagem .= sprintf( '%s: %s<br />' , ucfirst( $campo ) , strip_tags( $_POST[ $campo ] ) );
endforeach;

//e-mail do remetente:
$mail_headers  = 'MIME-Version: 1.0' . "\r\n";
$mail_headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
//$mail_headers .= 'From: Contato do formulario do site<contato@' . $_SERVER[ 'SERVER_NAME' ] . '>' . "\r\n";
$subject = 'E-mail do site';
$enviaPara = 'contato@meuemail.com.br';//você deve alterar isso para um email existente
//$mail_headers .= "Reply-To: ".$dados. '$email'. "\r\n";
//$mail_headers .= sprintf( 'Reply-To: %s%s', '$email', PHP_EOL );
//$mail_headers = "Reply-To: {$_POST['email']}" . "\r\n";
$mail_headers     .= sprintf( "Reply-To: {$_POST['email']}") . "\r\n"; //nova linha de codigo


// Vamos fazer um teste para ver se o email foi enviado corretamente
if( mail( $enviaPara, $subject, $mensagem, $mail_headers ) ) {
       // Caso o email tenha sido enviado pelo provedor, retorna YES
       echo "success=yes";
       //$success=0';
     //  $success='yes';
       //echo "&success=".$success;
} else {
       // Caso não tenha sido enviado, retorna NO
       echo "success=no";
       //$success=1';
       //$success='no';
       //echo "&success=".$success;
}
?>

 

Opa

 

estou quase lá :natalbiggrin:

 

esqueci de dizer que na aba De fica o endereço do email assim endereçoemail@gmail.com&

com uma & no final...

 

<?php
error_reporting(E_ALL);
$dados = array(
       'nome',
       'cidade',
       'estado',
       'tel',
       'email',
       'checkin',
       'checkout',
       'adultos',
       'criancas',
       'comentarios',
       'escolha',
);
$mensagem = 'Seguem dados da mensagem:<br /><br />';
foreach( $dados as $campo ):
       if ( !array_key_exists( $campo , $_POST ) ) continue;
	$mensagem .= sprintf( '%s: %s<br />' , ucfirst( $campo ) , strip_tags( rtrim( $_POST[ $campo ] , '&' ) ) );
      // $mensagem .= sprintf( '%s: %s<br />' , ucfirst( $campo ) , strip_tags( $_POST[ $campo ] ) );
endforeach;

//e-mail do remetente:
$mail_headers  = 'MIME-Version: 1.0' . "\r\n";
$mail_headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
$mail_headers .= 'From: Contato do formulario do site<contato@' . $_SERVER[ 'SERVER_NAME' ] . '>' . "\r\n";
$subject = 'E-mail do site';
$enviaPara = 'contato@meumail.com.br';//você deve alterar isso para um email existente
//$mail_headers .= "Reply-To: ".$dados. '$email'. "\r\n";
//$mail_headers .= sprintf( 'Reply-To: %s%s', '$email', PHP_EOL );
//$mail_headers = "Reply-To: {$_POST['email']}" . "\r\n";
$mail_headers     .= sprintf( "Reply-To: {$_POST['email']}") . "\r\n";


// Vamos fazer um teste para ver se o email foi enviado corretamente
if( mail( $enviaPara, $subject, $mensagem, $mail_headers ) ) {
       // Caso o email tenha sido enviado pelo provedor, retorna YES
       echo "success=yes";
       //$success=0';
     //  $success='yes';
       //echo "&success=".$success;
} else {
       // Caso não tenha sido enviado, retorna NO
       echo "success=no";
       //$success=1';
       //$success='no';
       //echo "&success=".$success;
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

MAtheus já tinha tentado

$mail_headers .= 'Reply-To: ' . $email . PHP_EOL;

mas da erro a pesar de mandar a mail e tb clicando em responder fica 'Contato do formulario do site'

 

O mais perto que cheguei foi essa linha porém a resposta quando clico em responder é so a 1a letra digitada ex: 'mar@gmail.com' so vai ficar 'm'

$mail_headers     .= sprintf( "Reply-To: {$_POST['email']['&']}") . PHP_EOL;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom agora ta 100%

 

Dei uma limpada no que não servia e não sei se for por causa disso mas ta FUNCIONANDO :natalbiggrin:

 

Aqui o codigo limpo para historico:

 

<?php
error_reporting(E_ALL);
$dados = array(
       'nome',
       'cidade',
       'estado',
       'tel',
       'email',
       'checkin',
       'checkout',
       'adultos',
       'criancas',
       'comentarios',
       'escolha',
);
$mensagem = 'Seguem dados da mensagem:<br /><br />';
foreach( $dados as $campo ):
       if ( !array_key_exists( $campo , $_POST ) ) continue;
	$mensagem .= sprintf( '%s: %s<br />' , ucfirst( $campo ) , strip_tags( rtrim( $_POST[ $campo ] , '&' ) ) );
endforeach;

//e-mail do remetente:
$mail_headers  = 'MIME-Version: 1.0' . PHP_EOL;
$mail_headers .= 'Content-type: text/html; charset=UTF-8' . PHP_EOL;
$mail_headers .= 'From: Contato do formulario do site<contato@' . $_SERVER[ 'SERVER_NAME' ] . '>' . PHP_EOL;
$mail_headers     .= sprintf( "Reply-To: {$_POST['email']}") . PHP_EOL;
$subject = 'E-mail do site';
$enviaPara = 'contato@MEUEMAIL.com.br';//você deve alterar isso para um email existente

// Vamos fazer um teste para ver se o email foi enviado corretamente
if( mail( $enviaPara, $subject, $mensagem, $mail_headers ) ) {
       // Caso o email tenha sido enviado pelo provedor, retorna YES
       echo "success=yes";
} else {
       // Caso não tenha sido enviado, retorna NO
       echo "success=no";
}
?>

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.