Ir para conteúdo

POWERED BY:

Arquivado

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

Wilherme

Envio de E-mail

Recommended Posts

Bom dia,

 

Sou novo nesta área ainda e estou com uma duvida há tempos que não consigo resolver.

 

Estou tentando fazer um Formulário de e-mail onde a pessoa coloca seus dados e quando clicar no botão enviar as informações vão para o meu e-mail.

 

<?php  
if( $_SERVER['REQUEST_METHOD']=='POST' ){  
        $to                     = 'email@provedor.com'; //para quem vai o email  
        $subject        = $_POST['assunto'];  
  
                /* Mensagem */  
        $message =  
        '<html> 
        <head> 
        <title>Titulo da página</title> 
        <style> 
        </style> 
        </head> 
        <body>'.  
        '<img src="" alt="" />'.'<br>'.  
        '<div id="opiniao">'.  
        $_POST['nome'].'<br>'.  
        ' , mandou a seguinte mensagem pela seção "Fale Conosco" do site:'.  
        $_POST['mensagem'].'<br>'.  
        'Deixou o seguinte telefone para contato:'.$_POST['tel'].' ,'.$_POST['cel'].  
        '<br />'.  
        '</div>';  
  
        $message .=  
        '<div id="rodape">Obrigado pelo contato, aguardamos a sua visita.</div>'.  
        '</body> 
        </html>';  
  
        $headers = "MIME-Version: 1.1".PHP_EOL;  
        $headers .= "Content-type: text/html; charset=iso-8859-1".PHP_EOL;  
        $headers .= "From: eu@seudominio.com".PHP_EOL; // remetente  
        $headers .= "Return-Path: eu@seudominio.com".PHP_EOL; // return-path  
  
        $headers .= "Bcc: outroemail@provedor.com".PHP_EOL; //altere ou comente essa linha, para receber uma cópia oculta  
  
        mail($to, $subject, $message, $headers);  
                $msg = 'Obrigado pelo contato, aguardamos a sua visita.';  
        }  
?>  
                <h1>Formulário de exemplo</h1>  
<?php  
        if( isSet($msg) )  
                echo '<span class="msg">'.$msg.'</span>';  
  
        else { // só mostra o form se não existir a mensagem de obrigado  
?>  
                <form action="" method="post">  
                <fieldset>  
                        <label>*Nome Completo:  
                                        <input type="text" name="nome" title="* Nome Completo" /></label>  
                        <label>*Tel:  
                                <input type="text" name="tel" onkeypress="mascara(this,mtel)" maxlength="14" size="14" title="*Telefone" /></label>  
                        <label>*Cel:  
                                <input type="text" name="cel" onkeypress="mascara(this,mtel)" maxlength="14" size="14" title="*Celular" /></label>  
                        <label>*E-mail:  
                                <input type="text" name="email" title="*E-mail" /></label>  
                        <label>*Assunto:  
                                <input type="text" name="assunto" title="* Assunto" /></label>  
                        <label>*Mensagem:  
                                <textarea name="mensagem" rows="4" cols="25" title="* Mensagem"></textarea></label>  
                        <label><input type="submit" name="enviar" value="Enviar" /></label>  
                </fieldset>  
                </form>  
<?php  
        } // fecha else  
?> 

 

Achei aqui no Fórum este código mas não consegui fazer funcionar.

 

Devo dividir este codigo em 2 partes, tipo enviar.php e contato.html ?

 

Poderiam me ajudar?

 

Wilherme

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual é a dúvida ?

 

vc esqueceu de substituir os emails ?

        $headers .= "From: eu@seudominio.com".PHP_EOL; // remetente  

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue meu código:

 

enviar.php

 

<?php  
if( $_SERVER['REQUEST_METHOD']=='POST' ){  
        $to                     = 'wilherme@aguinea.com.br'; //para quem vai o email  
        $subject        = $_POST['assunto'];  
  
                /* Mensagem */  
        $message =  
        <html> 
        <head> 
        <title>Titulo da página</title> 
        <style> 
        </style> 
        </head> 
        <body>'.  
        <img src="" alt="" />'.'<br>'.  
        <div id="opiniao">'.  
        $_POST['nome'].'<br>'.  
         , mandou a seguinte mensagem pela seção "Fale Conosco" do site:.  
        $_POST['mensagem'].'<br>'.  
        Deixou o seguinte telefone para contato:'.$_POST['tel'].' ,'.$_POST['cel'].  
        <br />.  
        </div>;  
  
        $message .=  
        <div id="rodape">Obrigado pelo contato, aguardamos a sua visita.</div>'.  
        </body> 
        </html>';  
  
        $headers = "MIME-Version: 1.1".PHP_EOL;  
        $headers .= "Content-type: text/html; charset=iso-8859-1".PHP_EOL;  
        $headers .= "From: wilherme@aguinea.com.br".PHP_EOL; // remetente  
        $headers .= "Return-Path: wilherme@aguinea.com.br".PHP_EOL; // return-path  
  
     //   $headers .= "Bcc: outroemail@provedor.com".PHP_EOL; //altere ou comente essa linha, para receber uma cópia oculta  
  
        mail($to, $subject, $message, $headers);  
                $msg = 'Obrigado pelo contato, aguardamos a sua visita.';  
        }  
?>  

 

 

email.html

 

  <html>
  <head>
  <h1>Formulário de exemplo</h1> 
                <form action="" method="post">  
                <fieldset>  
                        <label>*Nome Completo:  
                                        <input type="text" name="nome" title="* Nome Completo" /></label>  
                       <br> <label>*Tel:  
                                <input type="text" name="tel" onkeypress="mascara(this,mtel)" maxlength="14" size="14" title="*Telefone" /></label>  
                       <br> <label>*E-mail:  
                                <input type="text" name="email" title="*E-mail" /></label>  
                        <br> <label>*Assunto:  
                                <input type="text" name="assunto" title="* Assunto" /></label>  
                        <br> <label>*Mensagem:  
                                <textarea name="mensagem" rows="4" cols="25" title="* Mensagem"></textarea></label>  
                        <label><input type="submit" name="enviar" value="Enviar" /></label>  
                </fieldset>  
                </form>      
		</head>
		</html>

 

Alterei os campos mas não funcionou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem erros de sintaxe no php, preste atenção no código e nas mensagens de erro.

 

e aqui:

                <form action="" method="post">  
troque por:
                <form action="enviar.php" method="post">  

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esta me apresentando um erro no enviar.php

 

Parse error: syntax error, unexpected '<' in /home/XxXxXxX/Teste/contato/enviar.php on line 8

 

Alterei essa linha 8 varias vezes mas não deu certo

<?php  
if( $_SERVER['REQUEST_METHOD']=='POST' ){  
        $to                     = 'wilherme@aguinea.com.br'; //para quem vai o email  
        $subject        = $_POST['assunto'];  
  
                /* Mensagem */  
        $message =  
         <head> 
        <title>Titulo da página</title> 
        </head> 
        <body>.  
        <img src="" alt="" />'.'<br>.  
        <div id="opiniao">.  
        $_POST['nome'].'<br>'.  
         , mandou a seguinte mensagem pela seção "Fale Conosco" do site:.  
        $_POST['mensagem'].'<br>'.  
        Deixou o seguinte telefone para contato:'.$_POST['tel'].' ,'.$_POST['cel'].  
        <br/>.  
        </div>;  
  
        $message .=  
        <div id="rodape">Obrigado pelo contato, aguardamos a sua visita.</div>'.  
        </body> 
        ;  
  
        $headers = "MIME-Version: 1.1".PHP_EOL;  
        $headers .= "Content-type: text/html; charset=iso-8859-1".PHP_EOL;  
        $headers .= "From: wilherme@aguinea.com.br".PHP_EOL; // remetente  
        $headers .= "Return-Path: wilherme@aguinea.com.br".PHP_EOL; // return-path  
  
     //   $headers .= "Bcc: outroemail@provedor.com".PHP_EOL; //altere ou comente essa linha, para receber uma cópia oculta  
  
        mail($to, $subject, $message, $headers);  
                $msg = 'Obrigado pelo contato, aguardamos a sua visita.';  
        }  
?>  

Compartilhar este post


Link para o post
Compartilhar em outros sites

ta faltando uma aspa simples aqui:

        $message =  
         '<head> 

Compartilhar este post


Link para o post
Compartilhar em outros sites

enviar.php on line 14

 

a linha 14 não alterei nada e apresentou o erro.

<?php  
if( $_SERVER['REQUEST_METHOD']=='POST' ){  
        $to                     = 'wilherme@aguinea.com.br'; //para quem vai o email  
        $subject        = $_POST['assunto'];  
  
                /* Mensagem */  
        $message =  
         '<head> 
        <title>Titulo da página</title> 
        </head> 
        <body>.  
        <img src="" alt="" />'.'<br>.  
        <div id="opiniao">.  
        $_POST['nome'].'<br>'.  
         , mandou a seguinte mensagem pela seção "Fale Conosco" do site:.  
        $_POST['mensagem'].'<br>'.  
        Deixou o seguinte telefone para contato:'.$_POST['tel'].' ,'.$_POST['cel'].  
        <br/>.  
        </div>;  
  
        $message .=  
        <div id="rodape">Obrigado pelo contato, aguardamos a sua visita.</div>'.  
        </body> 
        ;  
  
        $headers = "MIME-Version: 1.1".PHP_EOL;  
        $headers .= "Content-type: text/html; charset=iso-8859-1".PHP_EOL;  
        $headers .= "From: wilherme@aguinea.com.br".PHP_EOL; // remetente  
        $headers .= "Return-Path: wilherme@aguinea.com.br".PHP_EOL; // return-path  
  
     //   $headers .= "Bcc: outroemail@provedor.com".PHP_EOL; //altere ou comente essa linha, para receber uma cópia oculta  
  
        mail($to, $subject, $message, $headers);  
                $msg = 'Obrigado pelo contato, aguardamos a sua visita.';  
        }  
?>  

Compartilhar este post


Link para o post
Compartilhar em outros sites

ta faltando outra aspa simples aqui:

 <div id="opiniao">'. 
preste atenção no código, ou pegue o código original novamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado William Bruno agora deu certo, as vezes precisamos levar uma na cabeça pra aprendermos um pouco mais.

 

Vou alterar aqui conforme minha necessidade e depois fecho o tópico caso não tenha mais duvida.

 

Wilherme

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia

 

Estou com um problema aqui.

 

Código da pagina onde esta o formulário de e-mail.

 

<div id="menu"><!--***Menu***-->
    <ul class="menu">
         <li><a href="..\dilo\index.html" class="parent"><span>home</span></a></li>
        <li><a href="..\dilo\port.html" class="parent"><span>Portifolio</span></a></li>
		<li><a href="..\dilo\cont.html" class="parent"><span>Contato</span></a></li>
        </div><!--***Fim do Menu***-->
		<br><br><br><br><br><br><br>
		<div align=center>
		 <h1><center>Formulário de exemplo</center></h1> 
               <form action="enviar.php" method="post"> 
                <fieldset>  
                        <label>*Nome:  
                                        <input type="text" name="nome" title="* Nome Completo" /></label>  
                       <br> <label>*Telefone:  
                                <input type="text" name="tel" onkeypress="mascara(this,mtel)" maxlength="14" size="14" title="*Telefone" /></label>  
                       <br> <label>*E-mail:  
                                <input type="text" name="email" title="*E-mail" /></label>  
                        <br> <label>*Assunto:  
                                <input type="text" name="assunto" title="* Assunto" /></label>  
                        <br> <label>*Mensagem:  
                                <textarea name="mensagem" rows="4" cols="25" title="* Mensagem"></textarea></label>  
                        <label><input type="submit" name="enviar" value="Enviar" /></label>  
                </fieldset>  
                </form> 
				</div>
				<br>
				<br>
		
<div id="copyright">Copyright © 2013 <a href="http://aguinea.com.br">Aguinea Soluções em Web Sites</a></div>
</body>
</html>

 

depois que preencho os campos e clico em enviar ele me mostra o codigo fonte do enviar.php que é este:

 

<?php  
if( $_SERVER['REQUEST_METHOD']=='POST' ){  
        $to                     = 'wilherme@xxx.com.br'; //para quem vai o email  
        $subject        = $_POST['assunto'];  
  
   $headers = "MIME-Version: 1.1".PHP_EOL;  
        $headers .= "Content-type: text/html; charset=utf-8".PHP_EOL;  
        $headers .= "From: site@xxx.com.br".PHP_EOL; // remetente  
        $headers .= "Return-Path: site@xxx.com.br".PHP_EOL; // return-path  
  
     // $headers .= "Bcc: outroemail@provedor.com".PHP_EOL; //altere ou comente essa linha, para receber uma cópia oculta  
    
                /* Mensagem */  
        $message =  
         '<head> 
        <title>Titulo da página</title> 
        </head> 
        <body> 
        <img src="" alt="" />'.'<br>.  
        <div id="opiniao">'.
        $_POST['nome'].'<br>'.  
        'Descricao:'.	
        $_POST['mensagem'].'<br>'.  
        'Telefone:'.$_POST['tel'].  
        '<br/>'.
		$_POST['email'].'<br>'.  
        '<br/>'.
		'</div>';  
        '</body> 
		</html>';
        ;  
       	   	   
        mail($to, $subject, $message, $headers);  
                $msg = 'Obrigado pelo contato, aguardamos a sua visita.';  
        }  
?>  

 

Queria saber onde posso colocar e como fazer que apenas apresente uma mensagem dizendo que a mensagem foi enviada com sucesso,

 

Tentei por um ELSE no enviar.php mas não deu certo.

 

 

 

Wilherme

Compartilhar este post


Link para o post
Compartilhar em outros sites

é só dar um echo dessa variavel aqui:

echo $msg;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite,

 

No site insiro essas informações para envio de e-mail.

 

email1.jpg

 

No meu e-mail está chegando assim:

 

site2.jpg

 

Meu código do enviar.php é:

 

<?php  
if( $_SERVER['REQUEST_METHOD']=='POST' ){  
        $to                     = 'wilherme@xxxxxx.com.br'; //para quem vai o email  
        $subject        = $_POST['assunto'];  
  
   $headers = "MIME-Version: 1.1".PHP_EOL;  
        $headers .= "Content-type: text/html; charset=utf-8".PHP_EOL;  
        $headers .= "From: site@xxxxxx.com.br".PHP_EOL; // remetente  
        $headers .= "Return-Path: site@xxxxx.com.br".PHP_EOL; // return-path  
  
     // $headers .= "Bcc: outroemail@provedor.com".PHP_EOL; //altere ou comente essa linha, para receber uma cópia oculta  
    
                /* Mensagem */  
        $message =  
         '
        <body> 
         <img src="" alt="">'.'<br>.  
        <div id="opiniao">'.
        $_POST['nome'].'<br>'.'Mensagem:'.	
        $_POST['mensagem'].'<br>'.'Telefone:'.
		$_POST['tel']. '<br>'.
		$_POST['email'].'<br>'.  
        '<br>'.
		'</div>';  
        '</body> 
		</html>';
        ;        
		  
        mail($to, $subject, $message, $headers);  
            $msg = 'Obrigado pelo contato, aguardamos a sua visita.';  
      }

 
?>  

 

Gostaria que ficasse normal igual a primeira imagem.

 

Onde estou errando?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera to quase lá:

 

No site

 

site1.jpg

 

 

No e-mail:

 

site2_2.jpg

 

enviar.php

 

<?php  
if( $_SERVER['REQUEST_METHOD']=='POST' ){  
        $to                     = 'wilherme@aguinea.com.br'; //para quem vai o email  
        $subject        = $_POST['assunto'];  
  
   $headers = "MIME-Version: 1.1".PHP_EOL;  
        $headers .= "Content-type: text/html; charset=utf-8".PHP_EOL;  
        $headers .= "From: site@aguinea.com.br".PHP_EOL; // remetente  
        $headers .= "Return-Path: site@aguinea.com.br".PHP_EOL; // return-path  
  
     // $headers .= "Bcc: outroemail@provedor.com".PHP_EOL; //altere ou comente essa linha, para receber uma cópia oculta  
    
         /* Mensagem */  
        $message =  
         '
        <body> 
        
        <div id="opiniao">'.'Nome:  '.$_POST['nome'].'
<br>'.'Mensagem:  '.$_POST['mensagem'].'
<br>'.'Telefone:  '.$_POST['tel'].'
<br>'.'Email:  '.$_POST['email'].'
<br>'.  
        '<br>'.
		'</div>';  
        '</body> 
		</html>';
        ;        
		  
        mail($to, $subject, $message, $headers);  
            $msg = 'Obrigado pelo contato, aguardamos a sua visita.';  
      }

 
?>  

 

Onde estou errando que não vem a mensagem que escrevo no site?

 

Wilherme

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poderia ser que meu campo é um textarea?

 

<tr>
<td>Mensagem:</td>
<td><label><textarea style="width: 250px; name="mensagem" rows="6" title="* Mensagem"></textarea></label><br> 
                        <label><input type="submit" name="enviar" value="Enviar" /></label></td>
</tr>

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Olá, seu atributo style não está fechando.

 

Troque por isso:

 

<textarea style="width: 250px;" name="mensagem" rows="6" title="* Mensagem"></textarea>

 

Agora deu certo, Obrigado Maykel-ctba.

 

Pra finalizar só preciso que depois que a mensagem seja enviada apresente uma mensagem dizendo que sua mensagem foi enviada com sucesso.

 

<?php  
if( $_SERVER['REQUEST_METHOD']=='POST' ){  
        $to                     = 'wilherme@aguinea.com.br'; //para quem vai o email  
        $subject        = $_POST['assunto'];  
  
   $headers = "MIME-Version: 1.1".PHP_EOL;  
        $headers .= "Content-type: text/html; charset=utf-8".PHP_EOL;  
        $headers .= "From: site@aguinea.com.br".PHP_EOL; // remetente  
        $headers .= "Return-Path: site@aguinea.com.br".PHP_EOL; // return-path  
  
     // $headers .= "Bcc: outroemail@provedor.com".PHP_EOL; //altere ou comente essa linha, para receber uma cópia oculta  
    
         /* Mensagem */  
        $message =  
         '
        <body> 
        
        <div id="opiniao">'.'Nome:  '.$_POST['nome'].'
<br>'.'Mensagem:  '.$_POST['mensagem'].'
<br>'.'Telefone:  '.$_POST['tel'].'
<br>'.'Email:  '.$_POST['email'].'
<br>'.  
        '<br>'.
		'</div>';  
        '</body> 
		</html>';
        ;        
		  
        mail($to, $subject, $message, $headers);  
            $msg = 'Obrigado pelo contato, aguardamos a sua visita.';  
      }

 
?>  

 

Pra finalizar só preciso que depois que a mensagem seja enviada apresente uma mensagem dizendo que sua mensagem foi enviada com sucesso.

 

 

Wilherme

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo,

O código PHP abaixo faz o que você quer:

 

<?php
$date = date("d/m/Y h:i");
 
// ****** ATENÇÃO ********
// ABAIXO ESTÁ A CONFIGURAÇÃO DO SEU FORMULÁRIO.
// ****** ATENÇÃO ********
 
// RECEBE OS VALORES VINDO DO FORMULÁRIO E ATRIBUI AS VARIÁVEIS
$nome = $_POST['nome'];
$email = $_POST['email'];
$telefone = $_POST['telefone'];
$assunto = $_POST['assunto'];
$cidade = $_POST['mensagem'];
 
//CABEÇALHO - ONFIGURAÇÕES SOBRE SEUS DADOS E SEU WEBSITE
$nome_do_site="Support Seviços de Pesquisa";
$email_para_onde_vai_a_mensagem = "seuemail@gmail.com";
$nome_de_quem_recebe_a_mensagem = "Teste";
$exibir_apos_enviar='enviado.php';
 
//MAIS - CONFIGURAÇOES DA MENSAGEM ORIGINAL
$cabecalho_da_mensagem_original="From: $nome <$email>\n";
$assunto_da_mensagem_original="Contato no Site";
$assunto = "Contato via Seu Site";
 
// FORMA COMO RECEBERÁ O E-MAIL (FORMULÁRIO)
// ******** OBS: SE FOR ADICIONAR NOVOS CAMPOS, ADICIONE OS CAMPOS NA VARIÁVEL ABAIXO *************
$configuracao_da_mensagem_original="
 
ENVIADO POR:\n
Nome: $nome\n
Email: $email\n
Telefone: $telefone\n
Mensagem: $mensagem\n
ENVIADO EM: $date
 
";
 
//CONFIGURAÇÕES DA MENSAGEM DE RESPOSTA
// CASO $assunto_digitado_pelo_usuario="s" ESSA VARIAVEL RECEBERA AUTOMATICAMENTE A CONFIGURACAO
// "Re: $assunto"
$assunto_da_mensagem_de_resposta = "Confirmação";
$cabecalho_da_mensagem_de_resposta = "From: $nome_do_site < $email_para_onde_vai_a_mensagem>\n";
$configuracao_da_mensagem_de_resposta="Obrigado por entrar em contato!\nEstaremos respondendo em breve...\nAtenciosamente,\n$nome_do_site\n\nEnviado em: $date";
 
// ****** IMPORTANTE ********
// A PARTIR DE AGORA RECOMENDA-SE QUE NÃO ALTERE O SCRIPT PARA QUE O SISTEMA FINCIONE CORRETAMENTE
// ****** IMPORTANTE ********
 
//ESSA VARIAVEL DEFINE SE É O USUARIO QUEM DIGITA O ASSUNTO OU SE DEVE ASSUMIR O ASSUNTO DEFINIDO
//POR VOCÊ CASO O USUARIO DEFINA O ASSUNTO PONHA "s" NO LUGAR DE "n" E CRIE O CAMPO DE NOME
//'assunto' NO FORMULARIO DE ENVIO
$assunto_digitado_pelo_usuario="s";
 
//ENVIO DA MENSAGEM ORIGINAL
$headers = "$cabecalho_da_mensagem_original";
 
if($assunto_digitado_pelo_usuario=="n"){
$assunto = "$assunto_da_mensagem_original";
}
$seuemail = "$email_para_onde_vai_a_mensagem";
$mensagem = "$configuracao_da_mensagem_original";
mail($seuemail,$assunto,$mensagem,$headers);
 
//ENVIO DE MENSAGEM DE RESPOSTA AUTOMATICA
$headers = "$cabecalho_da_mensagem_de_resposta";
if($assunto_digitado_pelo_usuario=="n"){
$assunto = "$assunto_da_mensagem_de_resposta";
}else{
$assunto = "Re: $assunto";
}
 
$mensagem = "$configuracao_da_mensagem_de_resposta";
mail($email,$assunto,$mensagem,$headers);
echo "<script>window.location='$exibir_apos_enviar'</script>";
 
?>

Crie uma página PHP e salve como "form.php" ou outro nome de sua preferência e no formulário insira: action="form.php". A linha $exibir_apos_enviar='enviado.php'; chama a página com a mensagem de sucesso.

Espero ter ajudado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, basta dar echo da variavel $msg assim como já falei outras vezes aqui.

 

pega o lugar onde vc quer que apareça, e dá echo dessa variavel php. Só isso.

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.