Só queria dar minha opinião aqui.. Tenho o mesmo problema, mas é mais chato do que a experiência do autor da postagem original. Eu também uso o GSuite e configurei uma “senha de aplicativo” separada para o Discourse. No entanto, notei que meu problema não se deve à contagem de e-mails por dia ou a limites de taxa do SMTP. O fórum onde isso aconteceu quase não tinha atividade em termos de postagens, e-mails de resumo ou qualquer coisa do tipo. O que acontece é que, de vez em quando, uma autenticação SMTP falha.. isso tem a ver com um bug do lado do Google.. de vez em quando, por alguns minutos (a cada 3 a 5 meses, pelo menos), as autenticações SMTP simplesmente falham por alguns minutos. Normalmente, quando vejo isso no meu cliente de e-mail, basta esperar 5 minutos e tentar novamente, e tudo volta a funcionar magicamente. Bem, com o Discourse, uma falha simplesmente o deixa irritado.. mesmo com apenas algumas mensagens na fila, ele entra em modo de superação, tentando fazer login repetidamente para cada mensagem na fila. O resultado é um blitz de autenticação SMTP que dispara um mecanismo de proteção contra ataques de força bruta diferente dentro do Gmail, e muito rapidamente ele simplesmente para de processar tentativas de login e gera erros. Então, neste ponto, realmente não importa se a senha está correta e o problema de autenticação do Gmail foi resolvido.. até esse momento você está bloqueado porque o Discourse enlouqueceu.
Esqueça o limite de taxa; em vez disso, concentre-se em:
-
melhorar a eficiência; envie vários e-mails em uma única conexão TCP para começar.. isso é padrão e reduz a contagem de sockets ativos e a sobrecarga de rede.
-
implementar um atraso de retry incremental sensato, no qual, se uma autenticação SMTP falhar, não há realmente motivo para tentar novamente em um período tão curto. Quando a autenticação SMTP falha, desative o envio de e-mails e exiba um alerta na tela para o administrador de que a autenticação SMTP falhou, ou implemente um mecanismo de atraso sério, de modo que a tentativa 2 ocorra 60 segundos depois, a tentativa 3 em 5 minutos, a tentativa 4 em 30 minutos, etc.
Agora, basicamente, tenho que alterar minhas configurações de SMTP para desativar o envio de e-mails, depois reconstruir o aplicativo, esperar 24 horas, reverter minhas configurações e reconstruir novamente. Até mesmo uma simples caixa de seleção nas configurações de administrador para desativar o envio de e-mails seria 1000% melhor do que isso.