Suporte » Desenvolvendo com WordPress » Formulário de Cadastro

  • Resolvido Mauro Freitas

    (@helenomauro)


    Olá!

    Desenvolvi uma pagina de contato no wordpress. Está funcionando o cadastro mas não envia o email na chamada mail().

    Vou deixar o código das 3 páginas utilizadas para envio do formulário de cadastro.

    ————

    <?php
    $msg = '';
    $status = 'erro';
    
    //Variaveis de POST, Alterar somente se necessário
    //====================================================
    	$nome = $_POST['txt_nome'];
    	$email = $_POST['txt_email'];
    	$telefone = $_POST['txt_telefone'];
     	$texto = $_POST['txt_msg'];
    
    if ( ( $nome == '' ) ||
         ( $email == '' ) ||
    	 ( $telefone == '' ) ||
         ( $texto == '' ) ) {
        $msg = 'Preencha todos os campos corretamente!';
    
    } else {
    
    	//Configurações do email, ajustar conforme necessidade
    	//====================================================
    	$email_destinatario = "contato@thiagoguerra.com.br"; // receber os dados
    	$email_reply = "$email";
    	$assunto = "Formulário de Inscrição";
    
        $data_hora = date( 'd-m-Y | H:i:s' );
        $mensagem = file_get_contents( TEMPLATEPATH . '/contact/contact.php' );	
    
    	//Monta o Corpo da Mensagem
    	//====================================================
    	$mensagem = "Nome = $nome \n";
    	$mensagem .= "Email = $email \n";
    	$mensagem .=  "Telefone = $telefone \n";
    	$mensagem .=  "Mensagem = $texto \n";
    
     	//Seta os Headers (Alerar somente caso necessario)
    	$cabecalhos= implode ( "\n",array ( "De: $email", "Reply-To: $email_reply", "Assunto: $assunto","MIME-Version: 1.0","X-Priority: 3","Content-Type: text/html; charset=UTF-8" ) );
    
    	//Enviando o email
    	//====================================================
    	if ( mail( $email_destinatario, $assunto, nl2br($mensagem), $cabecalhos ) ) {
            $status = "ok";
            $msg = "Mensagem enviada com sucesso!";
        } else {
            $msg = "A mensagem não pôde ser enviada...";
        }
    }
    ?>

    —————–

    <?php
    /* Template Name: Contato */
    if ( $_POST[ 'enviar-email' ] )
        require TEMPLATEPATH . "/contact/contact.php";
    
    get_header(); ?>
     <div id="container">
                    <div id="primaryContent">
                        <?php
                        if ( have_posts() ) :
                            the_post();
    						if ( $msg )
    					    echo '<h3 class="'.$status.'">'.$msg.'</h3>';
                            the_content(); ?>
    
                        <form method="post" id="contact" action="">
    
    						<p align="center">Nome:<br/><input type="text" id="txt_nome" name="txt_nome" /></p><br/>
    						<p align="center">Email:<br/><input type="text" id="txt_email" name="txt_email" /></p><br/>
                            <p align="center">Telefone:<br/><input type="text" id="txt_telefone" name="txt_telefone"/></p><br/>
    						<p align="center">Mensagem:<br/><textarea name="txt_msg" id="txt_msg" rows="10" cols="50"></textarea></p><br/>
    						<p align="center"><input type="submit" class="submit" name="enviar-email" value="Enviar" /></p>
    
                        </form>
    
                        <?php endif; ?>
    
                    </div><!-- #content -->
    
    <?php get_sidebar(); get_footer(); ?>

    ————

    <h1>Formulário de Inscrição</h1>
    
    <table>
        <p><strong>Data de envio</strong>: [data_hora]</p>
        <p><strong>Nome</strong>: [nome]</p>
        <p><strong>Email</strong>: [email]</p>
        <p><strong>Telefone</strong>: [telefone]</p>
        <p><strong>Mensagem</strong>:<br />[mensagem]</p>
    </table>

    Já verifiquei todas variaveis e estão recebendo os valores normal só não está enviando o email. Este código está sendo inserido nos formatos do wordpress por isso as chamadas get_header() por exemplo.

    Aguardo um retorno,

    Grato.

Visualizando 1 resposta (de um total de 1)
Visualizando 1 resposta (de um total de 1)
  • O tópico ‘Formulário de Cadastro’ está fechado para novas respostas.