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

Quais arquivos usar no PHPMailer?

Bom dia,

Quais arquivos devo usar no PHPMailer? No GitHub os arquivos foram modificados e não sei quais devo usar. Encontrei o

PHPMAiler.php
POP3.php
SMTP.php

Mas não encontrei o PHPMailerAutoload.php. Alguem poderia me tirar esta duvida? Desde já, agradeço.

9 respostas

Davi, acabei de responder uma dúvida similar a sua. Dá uma olhada nela pra ver se ajuda:

<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'vendor/autoload.php';

$mail = new PHPMailer(true);
try {
    //Configurações do servidor
    $mail->SMTPDebug = 2;                                 // Habilite a saída de depuração detalhada
    $mail->isSMTP();                                      // Defina mail para usar SMTP
    $mail->Host = 'smtp1.exemplo.com;smtp2.exemplo.com';  // Especificar servidores SMTP principais e de backup
    $mail->SMTPAuth = true;                               // Ativar autenticação SMTP
    $mail->Username = 'usuario@exemplo.com.br';                 // SMTP email
    $mail->Password = 'senha';                           // SMTP senha
    $mail->SMTPSecure = 'tls';                            // Ativar criptografia TLS, também aceita `ssl`
    $mail->Port = 587;                                    // Número da porta TCP

    //Destinatario
    $mail->setFrom('destinatario@exemplo.com', 'Mailer');
    $mail->addAddress('joe@exemplo.net', 'Joe Usuário');     // Pra quem você quer enviar o email, nome é opcional
    $mail->addAddress('ellen@exemplo.com');               
    $mail->addReplyTo('info@exemplo.com', 'Informações');
    $mail->addCC('cc@exemplo.com');
    $mail->addBCC('bcc@exemplo.com');

    //Anexo
    $mail->addAttachment('/var/tmp/file.tar.gz');         // Caso queira anexo
    $mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Exemplo com nome, mas o nome é opcional

    //Conteudo
    $mail->isHTML(true);                                  // Se o email for em HTML você tem que deixar como true
    $mail->Subject = 'Título da mensagem';
    $mail->Body    = 'Corpo da mesangem';
    $mail->AltBody = 'Um corpo mais simples pra que não da suporte a email com HTML';

    $mail->send();
    echo 'Só pra ver no terminal se a mesagem foi enviada';
} catch (Exception $e) {
    echo 'Aqui é pra vermos se a mensagem deu ruim';
    echo 'Qual é o erro que tivemos: ' . $mail->ErrorInfo;
}

Se não ajudar avisa que vou mais fundo na sua dúvida. :)

Oi Davi, me manda o link do github que você encontrou pra que eu verifique essas modificações que falou por favor?

solução!

Oi Davi, tudo bom?

Pelo o que eu dei uma olhada no repositorio deles no git, parece que eles estão migrando tudo para o composer (e provavelmente implementando as novas PSRs para autoload)

Aqui eles deixaram as versões antigas que ainda não suportam o composer pra gente poder baixar. Nela você vai achar o autoload =)

Abraço e bons estudos.

Acho que a dúvida do Davi é sobre a autenticação do Gmail que mudou.

Talvez esse link ajude: https://github.com/PHPMailer/PHPMailer/blob/master/examples/gmail.phps

Tentei a solução do Marco e deu essa mensagem:

Warning: require(vendor/autoload.php): failed to open stream: No such file or directory in C:\xampp\htdocs\loja\envia-contato.php on line 9

Fatal error: require(): Failed opening required 'vendor/autoload.php' (include_path='C:\xampp\php\PEAR') in C:\xampp\htdocs\loja\envia-contato.php on line 9

Link do GitHub

https://github.com/PHPMailer/PHPMailer

Davi, você não tem o arquivo autoload dentro da pasta vendor.

Obrigado a todos pela ajuda, eu peguei os arquivos do Mailer anterior que o Andre Chaves mostrou e fiz o processo igual mostrado na aula. Mensagem enviada com sucesso.

Boa Davi! Precisando, conta com a gente! Bons estudos!