Disparo e recebimento de emails em localhost (ambiente de desenvolvimento)
.
.
Resumo: neste tópico você conhecerá um pouco mais sobre mim, sobre a companhia em que trabalho e também como configurar seu ambiente de desenvolvimento para disparar e receber e-mails localmente.
.
.
.
Olá, pessoal.
Esta é a minha primeira postagem no TabNews, antes de seguir com o conteúdo do post, gostaria de me apresentar rapidamente e dizer que é um prazer fazer parte desta comunidade e poder contribuir para a construção de um espaço "seguro" e limpo com conteúdo focado para profissionais de TI.
Me chamo Lucas Baltazar, estou no mercado de TI há mais de 1 década, atuo como CTO no grupo Stone Co. Com certeza você já viu por aí uma máquina de cartão verdinha, não é mesmo? (focada em soluções financeiras, + de 15 mil colaboradores), IPO em 2018 fazendo estreia na NASDAQ. Adquiriu a Linx S/A em 2020, que possui + de 5 mil colaboradores, uma das maiores empresas brasileiras com um leque gigantesco de soluções em software para o mercado de varejo do Brasil.
Possuo uma veia técnica muito forte, embora nos últimos anos eu tenha me dedicado mais à gestão e businness, ao longo do tempo, quero compartilhar com todos vocês um pouco da minha experiência, tanto hard skills quanto soft skills. Pra finalizar essa apresentação pessoal e da companhia em que eu atuo, gostaria de compartilhar o propósito da Stone Co. "Tornar mais justa a oferta de serviços financeiros para os lojistas brasileiros, apoiando cada um deles em sua jornada empreendedora." Sabe como vamos fazer isso? Atraindo e retendo talentos, portanto, deixo aqui meu LinkedIn para eventuais contatos de pessoas que entenderem que seus propósitos pessoais têm sinergia com o propósito da Stone Co.
Vamos logo ao tema da postagem...
Depois de ler este post, enviar e receber emails no ambiente de desenvolvimento (localhost) não será mais uma dor para você.
Gostaria de apresentar a solução Mailcatcher. A solução provê um servidor SMTP local e uma interface Web para visualizar os emails recebidos.
Mailcatcher é uma gem, que é uma espécie de "plugin" feito na linguagem Ruby, isso quer dizer que para que as coisas funcionem, você deverá instalar a linguagem Ruby em sua máquina. Vou dar o passo-a-passo exemplificando para o sistema operacional Ubuntu LTS 18.04, contudo, as coisas apresentadas aqui são compatíveis com os principais sistema operacionais do mercado (Windows, MacOS e Linux).
O Primeiro passo é instalar o RVM (gerenciador de versões para a linguagem Ruby, assim como o NVM é um gerenciador para o Node), ele permitirá instalar e alternar entre diferentes versões da linguagem Ruby no seu sistema operacional. É possível instalar Ruby direto na sua máquina, sem usar um gerenciador de versões, mas eu não recomendo isso.
- Para instalar o RVM é necessário instalar o GPG (usado para verificar a autenticidade do RVM usando chaves PGP). Então abra o terminal e:
$ sudo apt install gnupg
- Importe para o seu ambiente as chaves PGP do RVM.
$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
- Faça a instalação do RVM
$ sudo apt-get update && apt-get install curl && curl -sSL https://get.rvm.io | bash -s stable
- Adicione seu usuário ao grupo de usuários do RVM
$ sudo usermod -a -G rvm `whoami`
-
Nesta etapa, recomendo fechar o terminal e abrir novamente.
-
Tenha certeza de que tudo ocorreu como esperado durante a instalação do RVM, vc pode usar o seguinte comando para testar isso:
$ rvm -v
A saída deverá ser parecida com isso: rvm 1.29.9 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]
- Instale a linguagem ruby usando RVM
$ rvm install ruby-2.7.0
- Defina a versão 2.7.0 da linguagem ruby como versão default
$ rvm --default use ruby-2.7.0
- Instale o Mailcatcher
$ gem install mailcatcher
- Execute o Mailcatcher
$ mailcatcher -f
Agora você tem um servidor SMTP rodando em localhost:1025, você pode configurar seus projetos backend para fazer disparos de emails localmente por meio desse servidor.
Para visualizar os e-mails recebidos, acesse pelo navegador: http://localhost:1080/ (qualquer e-mail disparado, independente do destinatário, poderá ser visualizado nessa caixa de entrada).
Espero ter contribuído com você, que leu este post, até a próxima.
Lucas Baltazar