Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Dúvida] rabbitmq_1 não envia e-mail para Gmail

Bom dia Professor,

Estou fazendo o curso "Microsserviços na prática: entendendo a tomada de decisões", mas ao preencher os formulários da aula 05 - "Subindo o Projeto", o RabbitMQ termina não enviando o e-mail de confirmação para o meu e-mail cadastrado, isto mesmo depois de eu ter configurado o docker-compose.yml as variáveis GMAIL_USER: 'seu-email@gmail.com' e GMAIL_PASSWORD: 'sua-senha' com o meu e-mail e senha(que inclusive criei apenas para fazer este curso.)

O log fala o seguinte: api-gateway_1 | 172.18.0.1 - - [21/Jun/2023:13:28:50 +0000] "OPTIONS /mkt/leads HTTP/1.1" 204 0 "http://localhost:4200/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" "-" api-gateway_1 | 172.18.0.1 - - [21/Jun/2023:13:28:50 +0000] "POST /mkt/leads HTTP/1.1" 201 25 "http://localhost:4200/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" "-" api-gateway_1 | 172.18.0.1 - - [21/Jun/2023:13:29:01 +0000] "GET /mkt/leads HTTP/1.1" 200 866 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" "-" api-gateway_1 | 172.18.0.1 - - [21/Jun/2023:13:29:40 +0000] "OPTIONS /financeiro/clients HTTP/1.1" 204 0 "http://localhost:4200/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" "-" api-gateway_1 | 172.18.0.1 - - [21/Jun/2023:13:29:41 +0000] "POST /financeiro/clients HTTP/1.1" 201 0 "http://localhost:4200/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" "-" web-financeiro_1 | Processando pagamento de João Paulo rabbitmq_1 | 2023-06-21 13:29:44.536822+00:00 [info] <0.640.0> accepting AMQP connection <0.640.0> (172.18.0.9:59442 -> 172.18.0.4:5672) rabbitmq_1 | 2023-06-21 13:29:44.539773+00:00 [info] <0.640.0> connection <0.640.0> (172.18.0.9:59442 -> 172.18.0.4:5672): user 'guest' authenticated and granted access to vhost '/' consumer-academico_1 | consumer-academico_1 | Fatal error: Uncaught Symfony\Component\Mailer\Exception\TransportException: Failed to authenticate on SMTP server with username "michell.teste.mail@gmail.com" using the following authenticators: "LOGIN", "PLAIN", "XOAUTH2". Authenticator "LOGIN" returned "Symfony\Component\Mailer\Exception\TransportException: Expected response code "235" but got code "535", with message "535-5.7.8 Username and Password not accepted. Learn more at ... consumer-academico_1 | #5 /app/vendor/symfony/mailer/Mailer.php(42): Symfony\Component\Mailer\Transport\Smtp\SmtpTransport->send(Object(Symfony\Component\Mime\Email), NULL) consumer-academico_1 | #6 /app/functions.php(51): Symfony\Component\Mailer\Mailer->send(Object(Symfony\Component\Mime\Email)) consumer-academico_1 | #7 /app/receive.php(27): sendMailTo(Object(RedBeanPHP\OODBBean)) consumer-academico_1 | #8 [internal function]: {closure}(Object(PhpAmqpLib\Message\AMQPMessage)) consumer-academico_1 | #9 /app/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Channel/AMQPChannel.php(1044): call_user_func(Object(Closure), Object(PhpAmqpLib\Message\AMQPMessage)) consumer-academico_1 | #10 [internal function]: PhpAmqpLib\Channel\AMQPChannel->basic_deliver(Object(PhpAmqpLib\Wire\AMQPReader), Object(PhpAmqpLib\Message\AMQPMessage)) consumer-academico_1 | #11 /app/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Channel/AbstractChannel.php(220): call_user_func(Array, Object(PhpAmqpLib\Wire\AMQPReader), Object(PhpAmqpLib\Message\AMQPMessage)) consumer-academico_1 | #12 /app/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Channel/AbstractChannel.php(374): PhpAmqpLib\Channel\AbstractChannel->dispatch('60,60', '\x1Famq.ctag-2JixT...', Object(PhpAmqpLib\Message\AMQPMessage)) consumer-academico_1 | #13 /app/receive.php(32): PhpAmqpLib\Channel\AbstractChannel->wait() consumer-academico_1 | #14 {main} consumer-academico_1 | thrown in /app/vendor/symfony/mailer/Transport/Smtp/EsmtpTransport.php on line 189 rabbitmq_1 | 2023-06-21 13:29:50.064905+00:00 [info] <0.595.0> closing AMQP connection <0.595.0> (172.18.0.7:44358 -> 172.18.0.4:5672, vhost: '/', user: 'guest') alura-ms_consumer-academico_1 exited with code 255 postgre-academico_1 | 2023-06-21 13:30:32.231 UTC [26] LOG: checkpoint starting: time postgre-academico_1 | 2023-06-21 13:30:32.554 UTC [26] LOG: checkpoint complete: wrote 4 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.304 s, sync=0.008 s, total=0.323 s; sync files=4, longest=0.007 s, average=0.002 s; distance=3 kB, estimate=3 kB

Poderia me dar uma ajuda com isso?

3 respostas

Pelo log, o código de erro que você está obtendo é o 535 - SMTP Error (535): Authentication failed

Você pode ver o erro especificamente neste trecho do log:

Failed to authenticate on SMTP server with username "michell.teste.mail@gmail.com" using the following authenticators: "LOGIN", "PLAIN", "XOAUTH2". Authenticator "LOGIN" returned "Symfony\Component\Mailer\Exception\TransportException: Expected response code "235" but got code "535", with message "535-5.7.8 Username and Password not accepted.

É um erro causado por autenticação... Pode ser login/senha incorreto, pode ser conta bloqueada, pode ser que o servidor não esteja aceitando... Como você disse que é uma conta nova, pode ser algo relacionado a isso (considerando que o login/senha estejam corretos). Se puder, tente com uma conta antiga para ver se funciona.

Pode ser que você tenha que configurar a opção de login em sistemas menos seguros (Less Secure Apps) na configuração do seu email também.

Mais detalhes do erro aqui https://www.courier.com/error-solutions/smtp-error-535/ e https://support.google.com/mail/thread/40210887/urgent-help-server-returned-an-error-535-5-7-8-username-and-password-not-accepted?hl=en

Boa tarde. As causas login/senha incorreto ou conta bloqueada estão descartadas, já a questão do servidor não estar aceitando acredito que seja a maior possibilidade. Antes de criar esta nova conta, eu já havia tentado com outras duas mas também sem sucesso. Pelo que tenho visto o Google não disponibiliza mais a opção de habilitar acesso a aplicativos menos seguros, então estou realmente sem opções para continuar o curso. Gostaria de saber se existe outra possibilidade de seguir com o curso.

solução!

Acabei de Resolver aqui. Segui os passos para criar uma senha de aplicativo deste link aqui https://randomnerdtutorials.com/esp32-send-email-smtp-server-arduino-ide/

1 - Criar uma senha de aplicativo Você precisa criar uma senha de aplicativo para que o ESP32 consiga enviar e-mails usando sua conta do Gmail. Uma senha de aplicativo é uma senha de 16 dígitos que concede a um aplicativo ou dispositivo menos seguro permissão para acessar sua Conta do Google.

2 - Uma senha de aplicativo só pode ser usada com contas que tenham a verificação em duas etapas ativada .

2.1 - Abra sua  Conta do Google .
2.2 - No painel de navegação, selecione  Segurança .
2.3 - Em "Como fazer login no Google", selecione  Verificação em duas etapas  > Primeiros passos .
Siga as etapas na tela.

3 - Depois de habilitar a verificação em duas etapas, você pode criar uma senha de aplicativo.

3.1 - Abra sua  Conta do Google .
3.2 - No painel de navegação, selecione  Segurança .
3.3 - Em "Como fazer login no Google", selecione Senhas de aplicativos .

4 - No campo Select app, escolha mail . Para o dispositivo, selecione Outro e dê um nome a ele, por exemplo, ESP32. Em seguida, clique em Gerar . Abrirá uma janela pop-up com uma senha que você usará com o ESP32 ou ESP8266 para enviar e-mails. Salve essa senha (mesmo que diga que você não precisará se lembrar dela) porque você precisará dela mais tarde. Agora, você deve ter uma senha de aplicativo que usará no código ESP32 para enviar os e-mails.

5 - Vá até o arquivo docker-compose.yml localizado na raiz do projeto alura-ms e edite as variáveis GMAIL_USER: 'nome_do_seu_email' GMAIL_PASSWORD: 'senha-gerada-no-passo-anterior'

6 - Rode o comando "docker-compose up" (sem as aspas é claro) e é só.

Pelo menos deu certo pra mim.