Inscrições abertas para nosso Webinar anual Adianti Framework 2024!
Clique aqui para saber mais
Erro ao chamar a classe PHPMailer Ao tentar enviar Email, me aparece a seguinte mensagem Fatal error: Class 'PHPMailerPHPMailerPHPMailer' not found in C:MKLYwwwProjetosMK_SGCv5applibutilTMail.class.php on line 23 Notei que na versão 5 do Framework na classe TMail tem as seguintes clausulas ...
MC
Erro ao chamar a classe PHPMailer  
Ao tentar enviar Email, me aparece a seguinte mensagem

Fatal error: Class 'PHPMailerPHPMailerPHPMailer' not found in C:MKLYwwwProjetosMK_SGCv5applibutilTMail.class.php on line 23

Notei que na versão 5 do Framework na classe TMail tem as seguintes clausulas


  1. <?php
  2. use PHPMailer\PHPMailer\PHPMailer;
  3. use PHPMailer\PHPMailer\Exception;
  4. /**
  5.  * TMail
  6.  *
  7.  * @version    5.0
  8.  * @package    util
  9.  * @author     Pablo Dall'Oglio
  10.  * @copyright  Copyright (c) 2006 Adianti Solutions Ltd. (http://www.adianti.com.br)
  11.  * @license    http://www.adianti.com.br/framework-license
  12.  */
  13. class TMail
  14. ?>


os arquivos ficam no seguinte endereço

vendorphpmailerphpmailersrc


ja tentei colocar o endereço acima mas não adiantou.




Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (7)


MC

ops, corrigindo

"vendorphpmailerphpmailersrc"
MC

kkkk

vendor phpmailer phpmailer src

nos espaços considerem a barra..
NR

Você iniciou esse projeto na versão 5 ou atualizou da 4 pra 5?
MC

Boas, Nataniel

Todos os meus projetos estão na versão 4, agora estou fazendo testes para passa-los para versão 5, mas estou com muitas dificuldades, esta eh apenas uma delas.

Todos os meus projetos eram desktop's, então passei todos eles para Adianti "3", para atualizar para a 4 foi totalmente suave.

No entanto para versão 5, existe muita diferença.

Tenho projetos em linhas de produção críticos, ou seja, para se mudar uma virgula passa pela aprovação do Cliente, que dependendo do erro pode anular o contrato.

Ai muitos poderão dizer, pq não deixa na versão 4, simples uma clausula de contrato diz que sempre tenho que atualiza-los... :(((.
MC

O problemas da PhpMailer não esta somente neste endereço, pois consegui resolver temporariamente, criando uma pasta mail, em applibmail, coloquei os arquivos la e funcionou.

No entanto já observei que o tratamento deste nova versão com arquivos é diferente com a versão anterior, ou seja, os e-mail de respostas já não funcionam como anterior.

No anterior o endereço relativo da imagem, funcionava, agora tenho que passar o endereço completo. Não aceita arquivos ICO
MC

Complementando....

Na verdade não da suporte para arquivos ICO, somente jpg, png e gif, não reconhece como imagem e sim como arquivo qualquer.

A versão anterior do PHPmailer convertia o arquivo em base64, agora ele faz uma consulta antes para saber qual e o tipo arquivo.

Tentei acrescentar o ICO, ali depois do png, mas nao funcionou. entao voltei a versao 5 e funcionou.

obvs: linha 3684 do PHPmailer.php

if (preg_match('#^data:(image/(?:jpe?g|gif|png));?(base64)?,(.+)#', $url, $match)) {



cabecalho da minha html de resposta

  1. <?php
  2.     <!--Cabecalho -->
  3.     <table align="center"bgcolor="#F6F8F1">    
  4.         <tr>
  5.             <td width="600" height="100" style="background-color: #A7E08D;" >
  6.                 <img src="app/images/MK_SGC.ico" align="left" style="float: rigth; margin: 10px">    // Isso não funciona
  7.                 <strong style="font-size: 25px; font-family: Arial; color: #000; padding: 20px">
  8.                    <brRESERVAS - <i>Status da Solicitação</i>
  9.                 </strong>
  10.             </td>
  11.         </tr>
  12.     </table>
  13.  ?>



LL

Tive o mesmo problema com o Adianti versao 5.

Resolvi o problema adicionando a linha "$folders[] = 'app/vendor';" no AdiantiApplicationLoader.php

class AdiantiApplicationLoader { public static function autoload($class) { // echo "&nbsp;&nbsp;App loader $class"; $folders = array(); $folders[] = 'app/model'; $folders[] = 'app/control'; $folders[] = 'app/view'; $folders[] = 'app/lib'; $folders[] = 'app/helpers'; $folders[] = 'app/service'; $folders[] = 'app/vendor'; // search in app root if (file_exists("comment.class.php"))