Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Erro ao enviar o email

peguei os arquivos no git ao final do curso e coloquei no meu código, porém esta dando esse erro!

Deprecated: _autoload() is deprecated, use splautoload_register() instead in /opt/lampp/htdocs/loja/PHPMailerAutoload.php on line 38

envia-email.php <?php require_once("cabecalho.php"); session_start();

$nome = $_POST["nome"];
$email = $_POST["email"];
$telefone = $_POST["telefone"];
$msg = $_POST["msg"];
$categoria_id = $_POST['categoria_id'];

require_once("PHPMailerAutoload.php");

$mail = new PHPMailer();
$mail-> isSMTP;
$mail->Host="smtp.live.com";
$mail->Port=465;
$mail->SMTPSecure="tls";
$mail->SMTPAuth=true;
$mail->Username="jo_diegof@hotmail.com";
$mail->Password="minhaSenha";

$mail->setFrom("jo_diegof@hotmail.com", "Jonathan teste");
$mail->addAddress("jo_diegof@hotmail.com");
$mail->Subject="Orçamentos Prime Eventos";
$mail->msgHTML("<html> De: {$nome}\nEmail: {$email}\nTelefone: {$telefone}\nCategoria: {$categoria_id}\nMensagem: {$msg}<html>");
$mail->AltBody="De: {$nome}\nEmail: {$email}\nTelefone: {$telefone}\nCategoria: {$categoria_id}\nMensagem: {$msg}";

?>

adiciona-produto.php

<title>Envio de Dados</title>
<?php

    $nome = $_POST["nome"];
    $email = $_POST["email"];
    $telefone = $_POST["telefone"];
    $msg = $_POST["msg"];
    $categoria_id = $_POST['categoria_id'];



    if(insereOrcamento($conexao, $nome, $email, $telefone, $categoria_id, $msg)){ 
        require_once("envia-email.php");\\aqui eu inclui meu arquivo para enviar email...  ?>

    <p class="alert-success" ><b>
        Sr(a) <?= $nome;?>; <br>
        Seus dados foram enviados com sucesso; <br>
        Prime eventos agradece o contato, embreve retornaremos.
    <b></p>
        <button type="button" class ="btn btn-link "><a href="index.php"> Inicio </a></button>

 <?php }else{ ?>
    <p class="alert-danger" ><b>
        Sr(a) <?= $nome;?>; <br>
        Não obtivemos êxito ao enviar os seus dados. <br>
        <button type="button" class ="btn btn-danger "><a href="produto-formulario.php"> Tente novamente</a></button>
    <b></p>

Estou fazendo um outro programa com base no do curso, para praticar mais. No meu programa ao adicionar o "produto"(Orçamento) na tabela eu já queria enviar um email para o proprietário da empresa, estava olhando em um site as configurações de servidor do hotmail para colocar porta e host corretamente... https://serversmtp.com/pt-pt/smtp-hotmail-configuracao/ Alguém saberia me dizer o que posso fazer?

4 respostas

Olá Jonathan,

Você fez o Include ou Require do arquivo do PHPMailer?

Boa tarde Luiz; fiz um require_once. Esse erro eu já resvolvi, tinha uma função dentro do PHPMailerAutoload.php na linha 38 que estava antiga, mudei conforme solicitado no erro. Porém agora ele aparece um erro de Não foi possível instanciar a função de email.

solução!

Achei o erro:

$mail = new PHPMailer();
$mail-> isSMTP;

Estava faltando o (); no isSMTP

$mail = new PHPMailer();
$mail-> isSMTP();

Opa!

Show!

Bom código!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software