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.