Não sei usar TMail Galera, não estou conseguindo usar o TMail, alguém poderia me explicar passo a passo como se utiliza ou ao menos informar alguns link? Estou tentando fazer um teste para ver se aprendo mas esta dando erro: ...
LL
Não sei usar TMail  
Galera, não estou conseguindo usar o TMail, alguém poderia me explicar passo a passo como se utiliza ou ao menos informar alguns link? Estou tentando fazer um teste para ver se aprendo mas esta dando erro:

<?php  try{        $mail = new TMail;        $mail->setFrom('flashcurriculos@contato.com.br');        $mail->setSubject('vaga de emprego');        $mail->setHtmlBody('Você foi selecionado para Vaga de emprego');        $mail->addAddress('flashcurriculos@gmail.com', 'FlashCurriculos');        $mail->SetUseSmtp();        $mail->SetSmtpHost('smtp.gmail.com', '587');        $mail->SetSmtpUser('flashcurriculos@gmail.com', 'senha'); //removi a senha por questão de segurança        $mail->setReplyTo($ini['repl']);        $mail->send();        new TMessage('info', TAdiantiCoreTranslator::translate('Record saved'));    }    catch (Exception $e){        new TMessage('error', '<b>Error</b> ' . $e->getMessage() );    }?>


Copiei e colei esse código de um exemplo que encontrei e fui substituindo. Vou enviar o erro como anexo, mas é basicamente esse: Error SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (7)


LC

Você precisa habilitar conexão menos segura nessa conta do gmail, eu acho.
Este link abaixo se vc tiver conectado com essa conta do gmail:
https://myaccount.google.com/lesssecureapps

Outro detalhe ai
<?php$mail->setFrom('flashcurriculos@contato.com.br');?>

diferente de
<?php$mail->SetSmtpUser('flashcurriculos@gmail.com', 'senha');?>

O gmail pode bloquear isso

AF

Bom dia Lucas.
Tenho uma aplicação que envia os emails corretamente com email de outro provedor.
À época fiz teste com o gmail e funcionou corretamente.
A única diferença entre a minha aplicação que funciona correta e o seu código é a inclusão das linhas abaixo:

$mail->SMTPSecure = 'tls';
$mail->SMTPAuth = true;

E dicas como utilizar o gmail: TLS/SSL: Requeridos

Servidor SMTP: smtp.gmail.com
Usuário SMTP: seu Usuário Completo Gmail (email), por exemplo: Seu_Email@gmail.com
Senha SMTP: sua Senha Gmail.
Porta SMTP: 587
TLS/SSL: requeridos.

Espero que ajude.
Atenciosamente,
Ailton Furtado
LL

Obrigado pessoal, deu certo.
LL

Ailton Furtado, para que serve esses parâmetros: $mail->SMTPSecure = 'tls';
$mail->SMTPAuth = true; ?
LL

EU tenho que enviar vários E-mails de uma vez, fiz esse processo usando um loop, mas notei que está muito lento, vejam o código:

<?php   public function notificar(){      $idVaga = TSession::getValue('SelecionarCandidatos_vaga_id');      //echo $idVaga;            TTransaction::open('con_ultimato');        $vaga = new Vaga($idVaga);      TTransaction::close();            //*            foreach ($this->candidatos as $candidato){                     try{          $mail = new TMail;          $mail->setFrom('flashcurriculos@gmail.com');          $mail->setSubject('vaga de emprego');          $mail->setHtmlBody('Você foi selecionado para a entrevista de empregoa referente a vaga: '.$vaga->titulo. '. Solicitamos que entre em contato com a empresa para agendar a entrevista!');          $mail->addAddress($candidato->email, $candidato->nome);          $mail->SetUseSmtp();          $mail->SetSmtpHost('smtp.gmail.com', '465'); // 465 porta com criptografia          $mail->SetSmtpUser('flashcurriculos@gmail.com', 'senha'); //retirei a senha por questão de segurança          //$mail->setReplyTo($ini['repl']);          $mail->send(); // enviar          new TMessage('info', TAdiantiCoreTranslator::translate('Record saved'));        }        catch (Exception $e){          new TMessage('error', '<b>Error</b> ' . $e->getMessage() );        }      }//*/    }?>


Outra coisa que está me incomodando é que os email estão chegando com esse nome de remetente: Root User
AF

$mail->SMTPSecure = 'tls'; Protocolo de segurança
$mail->SMTPAuth = true; Autenticação do seu usuário.


$mail->setFrom('flashcurriculos@gmail.com','Coloque o nome que você quer aqui');

Em relação à lentidão, a cada email ele irá ao servidor fazer o processo de autenticação e enviar o mesmo. Isso é trafego de rede e velocidade do servidor de autenticação.

Atenciosamente,
Ailton Furtado
AF

Se o email for o mesmo para várias pessoas, faça assim:
Monte um array com todos os endereços de email e depois o inclua addadress

TTransaction::open('xxxx');
$repository = new TRepository('Operador');
$criteria_operadores = new TCriteria;
$criteria_operadores->add(new TFilter('status', '=', 'Ativo'));
$operadores = $repository->load($criteria_operadores);

if ($operadores)
{
foreach ($operadores as $email_operador)
{
$emails[] = $email_operador->email;
$emails_enviados .= $email_operador->email.';'."n";
}
}
// close the transaction
TTransaction::close();

$mail = new TMail;
$mail->setFrom("xxx", "xxx");
$mail->setSubject('Evento - '.$param['title'] );

foreach ($emails as $email_diretor)
$mail->addAddress($email_diretor,'Diretores ativos');

Atenciosamente,
Ailton Furtado