Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

mcosta78

Duvida com recepção de email php

Recommended Posts

mcosta78

Boa noite pessoal,

 

tenho um problema com o PHP. Tenho uma página em  html e preciso de fazer um formulário (que já tenho) e coloquei um botão enviar.

De forma ao php funcionar instalei o xampp e coloquei o ficheiro php o problema é que dá sempre erro!!

o código que tenho é:

 

<?
# alterar a variavel abaixo colocando o seu email

$destinatario = "seuemail@seudominio.com.br";

$nome = $_REQUEST['nome'];
$email = $_REQUEST['email'];
$mensagem = $_REQUEST['mensagem'];
$assunto = $_REQUEST['assunto'];

 // monta o e-mail na variavel $body

$body = "===================================" . "\n";
$body = $body . "FALE CONOSCO - TESTE COMPROVATIVO" . "\n";
$body = $body . "===================================" . "\n\n";
$body = $body . "Nome: " . $nome . "\n";
$body = $body . "Email: " . $email . "\n";
$body = $body . "Mensagem: " . $mensagem . "\n\n";
$body = $body . "===================================" . "\n";

// envia o email
mail("meuemail@gmail.com", $assunto , $body, "From: $email\r\n");        //aqui coloco o meu email

// redireciona para a página de obrigado
header("location:obrigado.htm");


?>

 

Alguém me sabe dizer qual o problema?

 

obrigado.
 

Share this post


Link to post
Share on other sites
mcosta78

Boas pessoal, segui o conselho do M6 de utilizar a classe phpmailer.

 

agora o meu problema é: coloquei a classe phpmailer e dois ficheiros com o código abaixo:

 

envio.php:

<?php    
    $mail = new PHPMailer();
    $mail->IsSMTP(); 
    $mail->CharSet = 'UTF-8';
    $mail->True;
    $mail->Host = "smtp.gmail.com"; // SMTP servers
    $mail->SMTPSecure = "tls"; // conexão segura com TLS
    $mail->Port = 587; 
    $mail->SMTPAuth = true; // Caso o servidor SMTP precise de autenticação
    $mail->Username = "meu_email@gmail.com"; // SMTP username (aqui coloco meu email)
    $mail->Password = "minha_password"; // SMTP password (aqui coloco a pass)
    $mail->From = "jruisousa7@gmail.com"; // From
    $mail->FromName = "InVettor" ; // Nome de quem envia o email
    $mail->AddAddress($mailDestino, $nome); // Email e nome de quem receberá //Responder
    $mail->WordWrap = 50; // Definir quebra de linha
    $mail->IsHTML = true ; // Enviar como HTML
    $mail->Subject = $assunto ; // Assunto
    $mail->Body = '<br/>' . $mensagem . '<br/>' ; //Corpo da mensagem caso seja HTML
    $mail->AltBody = "$mensagem" ; //PlainText, para caso quem receber o email não aceite o corpo HTML

    if(!$mail->Send()) // Envia o email
    {    
        echo "Erro no envio da mensagem";
    }    
?>

Contacto.php:

<html lang="pt-br"> 
<head>
    <meta charset="utf-8">
    <title>inVettor | Hospedagem de sites, Revendas, SSL e Cloud.</title>
    <!--Bootstrap -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
</head>

<body>
<div class="container">

    <?php 
        if ($_POST) 
        {
            //Carrega as classes do PHPMailer
            include("./phpmailer/class.phpmailer.php"); 
            include("./phpmailer/class.smtp.php"); 
            
            //envia o e-mail para o visitante do site
            $mailDestino = $_POST['txtEmail']; 
            $nome = $_POST['txtNome'];    
            $mensagem = "Obrigado pelo seu contato, responderemos ASAP!";
            $assunto = "Obrigado pelo seu contato!";
            include("./envio.php");
            
            //envia o e-mail para o administrador do site
            $mailDestino = 'jruisousa7@gmail.com'; 
            $nome = 'inVettor';    
            $assunto = "Mensagem recebida do site";
            $mensagem = "Recebemos uma mensagem no site <br/>
                        <strong>Nome:</strong> $_POST[txtNome]<br/>
                        <strong>e-mail:</strong> $_POST[txtEmail]<br/>
                        <strong>mensagem:</strong> $_POST[txtMensagem]";
            include("./envio.php");
            
            
        }
    ?>

    <form method="POST" name="formContato">

    <label>Informe seu nome: </label>
    <input type="text" name="txtNome" placeholder="João" class="form-control" required>


    <label>Informe seu e-mail: </label>
    <input type="email" name="txtEmail" placeholder="a@a.com" class="form-control"  required>


    <label>Deixe sua mensagem: </label>
    <textarea rows="6"  class="form-control" name="txtMensagem"></textarea>
    <br/>

    <div style="text-align:center">
        <button type="submit" class="btn btn-default btn-lg"> Enviar Mensagem </button>
    </div>
    
    </form>    
</div>
</body>
</html>

 

quando executo dá dois erros:

o primeiro é no ficheiro envio.php na linha  $mail->SMTPSecure = "tls"; // conexão segura com TLS

o erro é: Notice: Undefined property: PHPMailer::$True in C:\xampp\htdocs\envio.php on line 21
Erro no envio da mensagem.

 

e o segundo erro é no email do gmail recebo uma mensagem com tentativa de  inicio de sessão bloqueado etc etc..

como posso resolver este problema?

 

grato a todos.

 

Share this post


Link to post
Share on other sites
mcosta78

Peço desculpa mas este assunto já está noutro tópico.

Se for possível alguém terminar este tópico agradecia.

 

Cumprimentos e desculpa.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.