Swift Mailer – Envio de e-mail autenticado com Gmail

swift_mailer

Neste post, vou dar alguns exemplos de como enviar e-mails com a biblioteca Swift Mailer.
Clique aqui para baixar a biblioteca, após o dowload extraia os arquivos em sua aplicação.

Exemplo básico de envio de e-mail utilizando conta Gmail:

require_once 'lib/swift_required.php';

/*
 Configurar conta para envio.
 Servidor SMTP, porta e tipo de autenticação.
 Endereço de e-mail e senha
*/

$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')
  ->setUsername('seuemail@gmail.com')
  ->setPassword('suaSenha')
  ;


/*
  Criar Mailer com a conta acima
*/

$mailer = Swift_Mailer::newInstance($transport);


/* 
  Criar mensagem
  Assunto, remetente, destinatário e texto do e-mail
*/

$message = Swift_Message::newInstance('Assunto')
  ->setFrom(array($transport->getUsername() => 'Remetente'))
  ->setTo(array('01@email.com.br' => 'Destino 1', '02@email.com.br' => 'Destino 2'))
  ->setBody('Envio de E-mail com  Swift Mailer')
  ;


/*
  Enviar Mensagem
*/
$result = $mailer->send($message);

Exemplo para enviar um email com anexo:

$message = Swift_Message::newInstance('Assunto')
  ->setFrom(array($transport->getUsername() => 'Remetente'))
  ->setTo(array('01@email.com.br' => 'Destino 1', '02@email.com.br' => 'Destino 2'))
  ->setBody('Envio de E-mail com  Swift Mailer - Anexo')
  ->attach(Swift_Attachment::fromPath('Swiftmailer.pdf'))
  ;

Exemplo para enviar HTMl com imagens no corpo do email:

$message = Swift_Message::newInstance('Assunto')
  ->setFrom(array($transport->getUsername() => 'Remetente'))
  ->setTo(array('01@email.com.br' => 'Destino 1', '02@email.com.br' => 'Destino 2'))
  ;

$message->setBody(
  '<html>' .
  ' <head></head>' .
  ' <body>' .
  ' Imagem: <br> <img src="' .
  $message->embed(Swift_Image::fromPath('imagem.jpg')).
  '" alt="Image" />' .
  ' Resto da mensagem' .
  ' </body>' .
  '</html>',
  'text/html'
  )
  ;

A documentação do Swift Mailer traz mais informações que podem ser úteis a você.

Dúvidas, podem postar. Abraço e até a próxima!!

 

Tags: , , , ,

Deixe um comentário