(16) 981791110 contato@policast.studio

O que é SwiftMailer e para que serve?

SwiftMailer é uma biblioteca PHP que permite enviar e-mails de forma fácil e simplificada através de diferentes meios, como SMTP, sendmail, MTA (Message Transfer Agent), entre outros.

No Symfony, SwiftMailer é o componente padrão utilizado para enviar e-mails, por isso é importante saber como utilizá-lo.

Como instalar e configurar SwiftMailer no Symfony?

Primeiramente, é preciso instalar a biblioteca através do Composer, executando o seguinte comando no terminal:

composer require "symfony/swiftmailer-bundle"

Com a biblioteca instalada, é preciso configurar o serviço de e-mail no arquivo config/packages/swiftmailer.yaml, informando as credenciais do SMTP, como no exemplo abaixo:


swiftmailer:
url: '%env(MAILER_URL)%'
transport: smtp
host: smtp.sendgrid.net
username: 'env:SENDGRID_USERNAME'
password: 'env:SENDGRID_PASSWORD'
port: 587
encryption: tls
auth_mode: login

No caso acima, está sendo utilizado o serviço de e-mail do SendGrid como exemplo. É importante substituir as informações de acordo com o provedor utilizado.

Como utilizá-lo para enviar e-mails?

Com a biblioteca instalada e configurada, podemos utilizá-la para enviar e-mails de forma fácil e simplificada através do Symfony. Abaixo temos um exemplo da implementação de um método que permite o envio de um e-mail através do SwiftMailer:


public function sendEmail(Swift_Mailer $mailer)
{
$message = (new Swift_Message('Assunto do E-mail'))
->setFrom('contato@seudominio.com')
->setTo('destinatario@dominio.com')
->setBody(
$this->renderView(
'email/index.html.twig',
['name' => $name]
),
'text/html'
)
;

$mailer->send($message);
}

No exemplo acima, estamos criando um objeto do tipo Swift_Message, configurando o assunto, o remetente, o destinatário e o corpo do e-mail, que está sendo renderizado a partir de uma view Twig. Por fim, realizamos o envio do e-mail através do método send().

Conclusão

SwiftMailer é uma biblioteca poderosa e fácil de utilizar que simplifica o envio de e-mails através de diferentes meios. Sua integração com o Symfony torna o envio de e-mails ainda mais fácil e prático. Com as informações acima, é possível instalar, configurar e utilizar SwiftMailer para enviar e-mails em suas aplicações Symfony de forma simples e eficiente.