Ir para conteúdo

Arquivado

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

Kelven

formulario de contato

Recommended Posts

estou com problemas no formulario de contato,

no hotmail normalmente antes de abrirmos a mensagem aparece la o nome de quem mandou o assunto e quando clicamos aparece o email embaixo e de que email foi enviada o email,

olhem meu codigo:

 

<?php
    $nomecontato= $_POST["nomecontato"];
	$email_contato= $_POST["email_contato"];
	$assunto_contato= $_POST["assunto_contato"];
	$mensagemcontato= $_POST["mensagemcontato"];
	
	
	mail ($email_contato, $assunto_contato,$mensagemcontato); 
	
	
	?>


la no lugar onde fica normalmente o nome de quem ta mandando a mensagem aparece "NOBODY" o assunto ta normal, mas de quem foi enviado o email aparece "nobody@hserv16.homehost.com.br" e eu quero que apareça o email digitado alguem sabe como posso consertar isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa!! Tudo bem?

 

bool mail(string $to, string $subject, string $message [, string $additional_headers [, string $additional_parameters ]])

Como você pode ver, o quarto e quinto parâmetros são opcionais na função mail(). Para fazer o que você quer, definir o remetente, usaremos

o quarto parâmetro: $additional_headers.

 

$headers = 'MIME-Version: 1.1\n';
$headers .= 'Content-type: text/html; charset=utf-8\n';
$headers .= 'To: Nome Destinatario <destinatario@dominio.com>\n'; // destinatario (quem vai gerenciar os contatos)
$headers .= 'From: Nome Remetente <remetente@dominio.com>\n'; // remetente (quem preencheu o form de contato)
$headers .= 'Reply-To: Nome Remetente <remetente@dominio.com>\n'; // e-mail para resposta (no caso, o próprio remetente).

E então:

if (mail($para, $assunto, $mensagem, $headers))
    echo 'Mensagem enviada com sucesso!';
else
    echo 'Sua mensagem não pôde ser encaminhada...';

É isso. Espero ter ajudado.

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao deu certo não e o formulario quando é carregado ja manda uma mensagem para o email sem apertar o botão de enviar,

 


<?php
	$para= $_POST["nomecontato"];
	$email_contato= $_POST["email_contato"];
	$assunto= $_POST["assunto_contato"];
	$mensagem= $_POST["mensagemcontato"];
	
	
	
$headers = 'MIME-Version: 1.1\n';
$headers .= 'Content-type: text/html; charset=utf-8\n';
$headers .= 'To: Nome Destinatario <destinatario@dominio.com>\n'; // destinatario (quem vai gerenciar os contatos)
$headers .= 'From: Nome Remetente <remetente@dominio.com>\n'; // remetente (quem preencheu o form de contato)
$headers .= 'Reply-To: Nome Remetente <remetente@dominio.com>\n'; // e-mail para resposta (no caso, o próprio remetente).

mail('contato@flycratry.com', $assunto, $mensagem, $headers);
	
	
	
	?>

ta enviando assim olha,

 

 

Imagem Postada

 

e aberto

Imagem Postada

 

eu não sei porque ta enviando as mensagens quando a pagina carrega porque ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente assim:

 

<?php if($_SERVER['REQUEST_METHOD'] == 'POST') {
   $para= $_POST["nomecontato"];
   $email_contato= $_POST["email_contato"];
   $assunto= $_POST["assunto_contato"];
   $mensagem= $_POST["mensagemcontato"];

   $headers = 'MIME-Version: 1.1\n';
   $headers .= 'Content-type: text/html; charset=utf-8\n';
   $headers .= 'To: Nome Destinatario <destinatario@dominio.com>\n'; // destinatario (quem vai gerenciar os contatos)
   $headers .= 'From: Nome Remetente <remetente@dominio.com>\n'; // remetente (quem preencheu o form de contato)
   $headers .= 'Reply-To: Nome Remetente <remetente@dominio.com>\n'; // e-mail para resposta (no caso, o próprio remetente).

   mail('contato@flycratry.com', $assunto, $mensagem, $headers);
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gente... eu dei só um exemplo, tem que alterar os dados de acordo com o que você quer...

 

Não vai aparecer de quem é se continuar lá "Nome remetente <remetente@dominio.com>", é só um exemplo!!!

 

if($_POST) {
    $remetente = $_POST["nomecontato"];
    $email_remetente = $_POST["email_contato"];
    $assunto = $_POST["assunto_contato"];
    $mensagem = $_POST["mensagemcontato"];
        
    $headers = 'MIME-Version: 1.1\n';
    $headers .= 'Content-type: text/html; charset=utf-8\n';
    $headers .= 'From: '.$remetente.' <'.$email_remetente.'>\n'; // remetente (quem preencheu o form de contato)
    $headers .= 'Reply-To: '.$remetente.' <'.$email_remetente.'>\n'; // e-mail para resposta (no caso, o próprio remetente).

    if (mail('contato@flycratry.com', $assunto, $mensagem, $headers))
        echo 'Mensagem enviada...';
    else
        echo 'Não foi...';
}

Por favor, não deixe a mensagem que eu coloquei, é só um exemplo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

gente la ta aperecendo o assunto e a mensagem no lugar certo mais no de quem foi enviado aparece isso olha Nobody (nobody@hserv16.homehost.com.br) e eu queria que aparecesse o campo do email que a pessoa digitou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, tenta assim (tá tudo pronto pra você!!!):

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
	<meta http-equiv="content-type" content="text/html; charset=utf-8">
	<meta name="author" content="">

	<title>Enviando E-mail</title>
</head>

<body>

<form action='' method='post'>
	Nome: <input type='text' name='nome_contato'/><br/>
	E-mail: <input type='text' name='email_contato'/><br/>
	Assunto: <input type='text' name='assunto_contato'/><br/>
	Mensagem:<br/>
	<textarea name='mensagem_contato'></textarea><br/>
	<input type='submit' value='enviar'/>
</form>

</body>
</html>

<?php

if($_POST) {
    $remetente = $_POST["nome_contato"];
    $email_remetente = $_POST["email_contato"];
    $assunto = $_POST["assunto_contato"];
    $mensagem = $_POST["mensagem_contato"];
        
    $headers = 'MIME-Version: 1.1\n';
    $headers .= 'Content-type: text/html; charset=utf-8\n';
    
	ini_set('SMTP', 'mail.dominio.com');
	ini_set('smtp_port', '25');
	ini_set('sendmail_from', $email_remetente);
    if (mail('destinatario@dominio.com', $assunto, $mensagem, $headers))
        echo 'Mensagem enviada...';
    else
        echo 'Não foi...';
}

?>

Bom, preste atençao nisso:

 

1) SMTP -> coloque no segundo parâmetro o host do seu servidor de e-mail (saída).

2) smtp_port -> coloque no segundo parâmetro a porta usada para o envio de e-mail´s (normalmente é a 25).

3) No primeiro parâmetro da função mail() coloque o e-mail do destinatário, quem vai gerenciar os contatos.

 

Pronto, tenta aí outra vez...

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.