O projeto gratuito envia a confirmação, mas o modelo não pode ser editado?
Comece testando o fluxo com o modelo disponível: confirme o envio, leia a mensagem em um endereço autorizado e valide o estado da conta no aplicativo. Se a aprovação também exigir texto e identidade visual próprios, confira primeiro quais regras se aplicam ao projeto; depois avalie SMTP personalizado ou um plano aplicável.
Última atualização: 25 de outubro de 2026. As regras foram conferidas na comunicação oficial sobre a personalização de modelos no plano gratuito, na documentação de modelos e na documentação de SMTP.
Este guia é para quem acabou de criar um projeto gratuito no Supabase e precisa testar o cadastro do próprio produto. Também ajuda profissionais de QA a distinguir disparo, recebimento e confirmação, e responsáveis técnicos que estão avaliando se a limitação do modelo exige mudar a configuração de envio.
Antes do teste, identifique a configuração do projeto
O rótulo “projeto gratuito” não basta para determinar o que é possível fazer. A regra oficial considera a data de criação e a configuração de envio. O Supabase informa que, a partir de 3 de junho de 2026, projetos gratuitos criados depois dessa data não podem editar os modelos de e-mail de autenticação quando usam o serviço de e-mail padrão. A comunicação também diferencia projetos gratuitos anteriores, planos pagos, projetos com SMTP próprio e instalações autogerenciadas. Consulte a comunicação oficial sobre a mudança antes de atribuir esse comportamento ao seu ambiente.
Faça esta conferência antes de iniciar:
- Anote quando o projeto foi criado. Compare a data com a regra vigente no anúncio oficial. Não deduza a data por uma mensagem antiga guardada ou pela configuração de outro projeto.
- Verifique o plano atual. Um projeto gratuito e um projeto pago não devem ser tratados como se tivessem necessariamente as mesmas opções de personalização.
- Confirme como o e-mail é enviado. Veja se o projeto usa o serviço padrão ou se alguém configurou SMTP próprio.
- Separe os ambientes. Projeto hospedado, instalação autogerenciada e desenvolvimento local têm configurações distintas. Um teste local do modelo não prova que um projeto hospedado enviará a mesma mensagem.
- Registre o resultado da verificação. Anote o projeto, o ambiente, a configuração de e-mail e a tela ou documentação consultada. Isso evita comparar configurações diferentes durante a triagem.
Essa checagem responde a uma dúvida recorrente: um projeto gratuito recém-criado não deve ser presumido capaz de editar o modelo padrão de confirmação. Ao mesmo tempo, essa restrição não significa, por si só, que o cadastro não possa ser testado. A possibilidade de alterar o modelo e a possibilidade de enviar uma mensagem são verificações separadas.
Defina se o aceite é funcional ou visual
Antes de disparar um cadastro, escreva o que precisa ser aprovado. Sem esse critério, a equipe pode confundir “a mensagem chegou” com “a mensagem atende ao padrão de marca” ou “a conta foi confirmada”.
Aceite funcional: o aplicativo inicia o cadastro, o usuário recebe uma mensagem legível, o link ou código corresponde à tentativa e a conta passa ao estado esperado depois da confirmação. Para esse objetivo, o modelo padrão pode ser suficiente, desde que o projeto consiga enviar para o endereço de teste e o fluxo termine corretamente.
Aceite de conteúdo e marca: o texto, o nome do produto, a identidade visual, a linguagem e as variáveis do modelo precisam corresponder à experiência final. Nesse caso, receber uma mensagem padrão não valida o conteúdo personalizado. Registre a personalização como requisito independente e confirme se o projeto permite editar o modelo ou se será necessário avaliar outra configuração.
As duas avaliações têm vantagens e limites diferentes:
- Usar o modelo disponível permite verificar o comportamento funcional sem fazer a identidade visual parecer aprovada. O limite é que não comprova o conteúdo personalizado que o projeto ainda não está usando.
- Configurar SMTP próprio ou um plano aplicável pode ser uma alternativa quando as regras do projeto dão acesso ao nível de controle necessário. O custo operacional é maior: será preciso administrar configuração, credenciais e domínio, além de testar o comportamento de envio.
- Testar localmente é útil para desenvolver e revisar modelos em um ambiente controlado. Não confirma que o serviço de envio do projeto hospedado aceitará o destinatário nem que a mensagem chegará da mesma forma.
A documentação oficial explica como organizar os modelos de e-mail do Supabase Auth. Consulte-a para validar os nomes e a função das variáveis em vez de copiar exemplos sem conferir o fluxo utilizado pelo aplicativo.
Durante o disparo, associe cada tentativa ao ambiente certo
Faça o teste em um projeto isolado, destinado ao desenvolvimento ou à homologação do próprio produto. Não use esse fluxo para cadastrar contas em serviços de terceiros. Além de não testar um sistema sob seu controle, essa prática pode violar regras de uso e misturar dados sem relação com a validação do produto.
Para tornar o teste reproduzível:
- Abra o aplicativo conectado ao projeto que será avaliado e confira se o endereço de autenticação corresponde ao ambiente de teste.
- Escolha um endereço de teste que possa receber e exibir mensagens. Antes de usar, confirme se o projeto atual permite enviar para esse destinatário.
- Inicie um cadastro novo e registre o endereço utilizado, o ambiente, o horário aproximado e a resposta mostrada pelo aplicativo.
- Guarde o resultado apresentado pela chamada de cadastro, mas não o trate como prova de recebimento. Uma resposta indicando que a solicitação foi aceita não demonstra que a mensagem chegou à caixa de entrada.
- Se o aplicativo exibir um erro, compare a mensagem com a configuração do projeto e com os limites aplicáveis. Não conclua imediatamente que a causa é o modelo bloqueado.
- Se repetir a tentativa, associe a nova solicitação ao seu próprio registro. Isso evita atribuir ao cadastro atual uma mensagem antiga.
Esse ponto importa porque problemas diferentes podem parecer iguais durante a primeira verificação: o endereço não está autorizado, o envio foi limitado pela configuração ou a mensagem foi enviada, mas não apareceu na caixa consultada. O modelo não editável, isoladamente, não identifica qual desses casos ocorreu.
A documentação oficial de limites de envio do Auth descreve os limites aplicáveis às solicitações de autenticação e explica que as condições dependem da configuração. Consulte os valores atuais no projeto e na documentação antes de executar tentativas repetidas. Não aumente o volume de solicitações como forma de “forçar” a entrega: isso pode confundir o diagnóstico e atingir limites de envio.
Ao receber, confira a mensagem e o destino do link
Quando a mensagem aparecer, compare seu conteúdo com a solicitação registrada. Confira se o destinatário é o esperado e se o link ou código está associado ao cadastro recém-iniciado. Uma mensagem antiga pode continuar visível na caixa e levar a uma conclusão errada se a equipe não relacionar cada tentativa ao respectivo usuário de teste.
A documentação de modelos descreve variáveis utilizadas nos fluxos de autenticação, incluindo ConfirmationURL, Token, TokenHash, SiteURL, Email e Data. São seis nomes de variáveis documentados; isso não significa que todos devam aparecer em todo modelo. Consulte a referência oficial de modelos e variáveis e valide apenas as que correspondem ao fluxo implementado.
Na inspeção, verifique:
- Se o link ou código pertence ao e-mail recebido para a tentativa atual.
- Se o link abre o aplicativo de teste esperado, e não uma tela de produção ou outro ambiente.
- Se uma mensagem de confirmação não foi confundida com um e-mail de recuperação de senha ou outro evento de autenticação.
- Se o texto visível explica ao destinatário o que fazer, mesmo quando o modelo padrão não segue a linguagem da marca.
- Se o aplicativo trata corretamente o caso em que o link já foi usado, expirou ou não corresponde à tentativa atual.
Não conclua que todos os endereços ou clientes de e-mail terão o mesmo comportamento. A renderização, a triagem da mensagem e a forma como o link é aberto podem depender do cliente e da configuração. O objetivo do teste funcional é validar um cenário representativo do produto, não declarar equivalência universal.
Se a equipe precisa conferir a aparência em diferentes clientes, registre essa validação como teste visual separado. O recebimento em uma caixa de teste confirma que houve uma mensagem acessível naquele cenário; não comprova, sozinho, a renderização em todos os aplicativos nem a entrega para todos os domínios.
Depois da confirmação, valide o estado no aplicativo
Abrir o link é apenas uma etapa. Volte ao aplicativo e confira o resultado que importa para o usuário: a conta ficou confirmada e o fluxo terminou na tela prevista? Se a aplicação permite consultar o estado da conta, compare esse estado com o resultado esperado para o cadastro.
Mantenha evidências independentes para cada parte do processo:
- Solicitação iniciada: o aplicativo processou a tentativa de cadastro.
- Mensagem acessível: o endereço de teste recebeu uma mensagem que pôde ser lida.
- Confirmação concluída: o link ou código foi aceito e a conta ficou no estado esperado.
- Experiência aprovada: o usuário chegou à tela correta e recebeu uma orientação compreensível.
Essas evidências respondem a perguntas diferentes. Um envio aceito não prova que houve recebimento; o recebimento não prova que o link foi validado; e a validação do link não prova que o aplicativo exibiu a tela correta. Essa separação ajuda a localizar a falha sem culpar automaticamente o modelo de e-mail.
Caso prático: uma equipe cria uma conta de teste e vê a tela do aplicativo informar que o cadastro foi iniciado. A caixa escolhida não recebe nada. O registro da tentativa comprova apenas que o fluxo começou; ainda é preciso verificar se o destinatário está autorizado, se a configuração de envio permite a operação e se houve alguma mensagem acessível. Se a mensagem chega, mas o link leva ao ambiente errado, a entrega funcionou e a validação do destino falhou. Se o link funciona, mas o aplicativo continua exibindo a conta como não confirmada, a equipe deve investigar a integração e o estado da conta. Cada evidência aponta para uma etapa diferente.
Se a confirmação chegar, o que ainda precisa ser verificado?
Um endereço que recebeu a mensagem não encerra o teste. Antes de aprovar o fluxo, confira se o conteúdo pertence à solicitação atual, se o link ou código é válido para aquela tentativa e se a conta mudou para o estado esperado depois da ação. Se houver redirecionamento, confira também se o destino corresponde ao ambiente de teste.
A equipe deve registrar separadamente o endereço usado e o resultado da confirmação. Isso permite repetir o teste sem depender da memória ou de uma mensagem antiga na caixa. Se a mensagem não puder ser lida, o endereço não serve como evidência de recebimento, mesmo que o aplicativo tenha mostrado uma resposta positiva ao cadastro.
Para reduzir dados pessoais em ambientes de desenvolvimento, prefira endereços de teste controlados e contas sem informações reais de clientes. A orientação de privacidade e exposição de endereços pode ajudar a avaliar o risco de expor o endereço principal em testes e demonstrações. Ao usar qualquer caixa de teste, evite inserir dados pessoais reais no formulário se eles não forem necessários para validar o comportamento.
Escolha a configuração pelo requisito, não pela aparência da mensagem
Use esta lista de decisão antes de alterar o projeto:
- [ ] Se o objetivo é validar o cadastro funcional e o modelo disponível permite conferir a confirmação e o estado da conta, prossiga com o teste funcional. Registre que a identidade visual não foi aprovada.
- [ ] Se o objetivo inclui texto, marca ou variáveis personalizadas, não aprove o requisito com base em uma mensagem padrão. Confirme a data de criação, o plano e a configuração de envio; depois avalie SMTP próprio ou uma opção de plano compatível.
- [ ] Se o envio foi recusado, confira o destinatário permitido e os limites atuais antes de alterar o modelo. A falha pode estar na autorização ou na configuração de envio, não na possibilidade de editar o texto.
- [ ] Se o teste ocorreu localmente, use o resultado para desenvolver o modelo, mas repita a validação no projeto hospedado antes de afirmar que o envio real está aprovado.
- [ ] Se o projeto já usa SMTP próprio, avalie a configuração efetiva desse projeto e siga a documentação de SMTP personalizado para Supabase Auth. A presença de SMTP próprio não garante entrega: ainda é necessário validar credenciais, destinatários, envio, recebimento e confirmação.
- [ ] Se a mensagem precisa funcionar como comunicação de marca em produção, planeje uma validação independente do teste básico de autenticação. A aprovação funcional não substitui a revisão de conteúdo e apresentação.
A comunicação oficial diferencia projetos gratuitos criados antes e depois da data de vigência, planos pagos, SMTP próprio e instalações autogerenciadas. Por isso, não aplique uma regra geral a todos os projetos Supabase. Revise o anúncio e as configurações visíveis no projeto antes de mudar o fluxo. Também não assuma que mudar para SMTP próprio fará a mensagem chegar: a configuração amplia o controle do envio, mas não elimina a necessidade de testar o caminho completo.
Para desenvolvimento local, a documentação oficial de personalização dos modelos locais descreve a configuração desse ambiente. Use-a para revisar o modelo durante o desenvolvimento; trate o resultado como evidência local, não como comprovação de envio hospedado.
Escolha um endereço de teste sem expor a caixa principal
Se o teste exigir uma caixa real e legível, escolha um endereço que possa ser consultado e que esteja autorizado pela configuração do projeto. Para entender o que observar entre a tentativa e a chegada da mensagem, consulte também o guia sobre tempos de recebimento de e-mail. Ele não substitui a verificação no projeto: o envio continua dependendo das regras e da configuração que estão ativas.
Um endereço temporário pode ser uma opção para cadastro pontual, demonstração ou recebimento de uma confirmação, desde que o projeto permita o envio para ele e que a caixa permaneça acessível durante a validação.
As alternativas têm vantagens e limites:
- Caixa principal: adequada quando a conta de teste precisa continuar existindo e receber mensagens futuras. O custo é misturar notificações de teste à correspondência de trabalho ou expor um endereço pessoal em ambientes compartilhados.
- Alias de e-mail: pode separar testes sem criar uma caixa completa, mas sua aceitação depende do serviço e das regras do projeto.
- Endereço temporário: reduz a exposição do endereço principal em uma tarefa pontual. Antes de usar, confirme que a caixa recebe mensagens e que o destinatário é permitido; não use para contas críticas ou que precisarão de recuperação futura.
- SMTP próprio: resolve uma necessidade de controle de envio e de configuração; não substitui uma caixa capaz de receber e validar a mensagem.
Para testes breves, o OrbSend pode ser considerado como uma opção de endereço de recebimento sem cadastro, com acesso imediato, evitando expor a caixa principal a mensagens de teste. Isso não significa que todo projeto Supabase aceitará qualquer endereço: confira a política de envio do seu projeto antes de iniciar o cadastro. Para um teste que exija recuperar a conta mais tarde, receber mensagens continuamente ou responder, prefira uma caixa sob controle duradouro da equipe. O objetivo é limitar a exposição sem confundir privacidade do endereço com garantia de entrega.
Reserve tempo suficiente para a próxima verificação
Crie um e-mail temporário com validade padrão de 3 horas, prorrogável quando necessário.