Códigos de resposta SMTP
Referência dos códigos de resposta SMTP de três dígitos e dos códigos de status aprimorados (X.Y.Z) que acompanham as devoluções e rejeições de e-mail. Pesquise por código ou por texto, ou cole a linha completa que o servidor retornou.

117 de 117 códigos

Códigos de resposta básicos

2xxResposta positiva de conclusão9
211System status

Status do sistema ou resposta de ajuda do sistema. Pouco usado na prática.

RFC 5321
214Help message

Mensagem de ajuda em resposta ao comando HELP, com informações sobre como usar o servidor ou um comando específico.

RFC 5321
220Service ready

Saudação inicial do servidor ao abrir a conexão: o serviço está pronto. Também é a resposta a STARTTLS para indicar que a negociação TLS pode começar.

RFC 5321
221Service closing transmission channel

O servidor está encerrando a conexão, normalmente em resposta ao comando QUIT.

RFC 5321
235Authentication successful

A autenticação com AUTH foi bem-sucedida. Costuma vir acompanhada do código aprimorado 2.7.0.

RFC 4954
250Requested mail action okay, completed

A ação solicitada foi concluída. É a resposta habitual a EHLO, MAIL FROM, RCPT TO e ao final de DATA, quando o servidor aceita a mensagem.

RFC 5321
251User not local; will forward

O destinatário não é local, mas o servidor aceita a mensagem e vai encaminhá-la para o endereço indicado.

RFC 5321
252Cannot VRFY user, but will accept message

O servidor não confirma se o usuário existe (VRFY desativado para evitar a enumeração de contas), mas aceitará a mensagem e tentará entregá-la.

RFC 5321
253OK, pending messages for node started

Resposta a ETRN: o servidor começou a entregar as mensagens que estavam na fila para o domínio ou nó solicitado.

RFC 1985 (ETRN)
3xxResposta positiva intermediária2
334Server challenge

Desafio do servidor durante o AUTH, codificado em Base64. O cliente deve responder com o próximo dado do mecanismo (por exemplo, o usuário ou a senha no AUTH LOGIN).

RFC 4954
354Start mail input

Resposta a DATA: o servidor aguarda o conteúdo da mensagem, que termina com uma linha contendo apenas um ponto.

RFC 5321
4xxErro temporário9
421Service not available, closing transmission channel

O serviço não está disponível e o servidor está encerrando a conexão: desligamento, sobrecarga, conexões demais ou limite de envio temporário. O remetente deve tentar novamente mais tarde.

RFC 5321
432A password transition is needed

O usuário precisa trocar a senha ou migrar para outro mecanismo de autenticação antes de conseguir se autenticar. Vem acompanhado do código aprimorado 4.7.12.

RFC 4954
450Requested mail action not taken: mailbox unavailable

A caixa de correio está temporariamente indisponível: ocupada, bloqueada ou rejeitada de forma temporária por políticas. O greylisting costuma responder com este código ou com 451.

RFC 5321
451Requested action aborted: local error in processing

A ação foi abortada por um erro local do servidor, como uma falha ao consultar o DNS ou um filtro que não respondeu. O remetente deve tentar novamente mais tarde.

RFC 5321
452Requested action not taken: insufficient system storage

O servidor não tem espaço suficiente para aceitar a mensagem no momento. Também indica que a quantidade de destinatários por mensagem foi excedida: o cliente deve enviar o restante em outra transação.

RFC 5321
454Temporary authentication failure

Falha temporária de autenticação (por exemplo, o servidor de credenciais não responde) ou TLS momentaneamente indisponível ao solicitar STARTTLS.

RFC 4954 / RFC 3207
455Server unable to accommodate parameters

O servidor não consegue atender no momento os parâmetros enviados em MAIL FROM ou RCPT TO, mas poderá aceitá-los mais tarde.

RFC 5321
458Unable to queue messages for node

Resposta a ETRN: o servidor não consegue processar no momento a fila de mensagens do nó solicitado.

RFC 1985 (ETRN)
459Node not allowed

Resposta a ETRN: o nó ou domínio solicitado não tem permissão para pedir a entrega da sua fila.

RFC 1985 (ETRN)
5xxErro permanente17
500Syntax error, command unrecognized

O servidor não reconhece o comando ou a linha é longa demais. O AUTH também o usa quando uma linha da troca excede o tamanho máximo permitido.

RFC 5321
501Syntax error in parameters or arguments

O comando é válido, mas seus parâmetros ou argumentos não: por exemplo, um endereço malformado em MAIL FROM ou um nome inválido em EHLO.

RFC 5321
502Command not implemented

O servidor reconhece o comando, mas não o implementa ou o mantém desativado, como VRFY ou EXPN em muitos servidores.

RFC 5321
503Bad sequence of commands

Os comandos chegaram em uma ordem incorreta, por exemplo RCPT TO antes de MAIL FROM, ou DATA sem destinatários válidos. Alguns servidores o retornam quando se tenta enviar sem autenticação.

RFC 5321
504Command parameter not implemented

O servidor não aceita o parâmetro indicado, por exemplo um mecanismo de AUTH que ele não suporta.

RFC 5321
521Server does not accept mail

O host não aceita e-mail de nenhum tipo. É enviado como saudação no lugar do 220, e o cliente não deve tentar novamente.

RFC 7504
530Authentication required

O servidor exige autenticação, ou o início do TLS com STARTTLS, antes de aceitar o comando. Típico ao usar a porta de envio 587 sem credenciais.

RFC 4954 / RFC 3207
534Authentication mechanism is too weak

O mecanismo de autenticação escolhido é fraco demais segundo a política do servidor. Alguns provedores o retornam quando exigem senhas de app ou OAuth.

RFC 4954
535Authentication credentials invalid

Usuário ou senha incorretos, ou credenciais rejeitadas. Vem acompanhado do código aprimorado 5.7.8.

RFC 4954
538Encryption required for requested authentication mechanism

O mecanismo de autenticação escolhido só é permitido em uma conexão criptografada: é preciso executar STARTTLS primeiro.

RFC 4954
550Requested action not taken: mailbox unavailable

A caixa de correio não existe ou não está disponível, ou a mensagem foi rejeitada por políticas (spam, blacklists, SPF, DKIM ou DMARC). O código aprimorado que o acompanha indica a causa específica.

RFC 5321
551User not local; please try forward-path

O destinatário não é local e o servidor não encaminha a mensagem; ele pode indicar para qual endereço enviá-la.

RFC 5321
552Requested mail action aborted: exceeded storage allocation

O espaço alocado foi excedido: a caixa de correio do destinatário está cheia ou a mensagem ultrapassa o tamanho máximo anunciado pela extensão SIZE.

RFC 5321
553Requested action not taken: mailbox name not allowed

O endereço de e-mail não é válido ou não é permitido, por exemplo por sintaxe incorreta ou porque o remetente não pode usar esse endereço.

RFC 5321
554Transaction failed

A transação falhou. Como saudação inicial, significa que não há serviço SMTP para esse cliente; após DATA, que a mensagem foi rejeitada, muitas vezes pelo conteúdo ou pela reputação do remetente.

RFC 5321
555MAIL FROM/RCPT TO parameters not recognized or not implemented

O servidor não reconhece ou não implementa um parâmetro de extensão enviado em MAIL FROM ou RCPT TO.

RFC 5321
556Domain does not accept mail

O domínio do destinatário publica um null MX (um registro MX que aponta para “.”): declara que não recebe e-mails, então não faz sentido tentar novamente.

RFC 7504

Códigos de status aprimorados (RFC 3463)

2.X.XSucesso4.X.XFalha temporária persistente5.X.XFalha permanente
X.0Outro ou indefinido1
X.0.0Other undefined status

Status sem mais detalhes: usado quando só se conhece a classe do resultado (sucesso, falha temporária ou permanente).

RFC 3463
X.1Endereços11
X.1.0Other address status

Há um problema com algum endereço da mensagem que não se enquadra nos códigos mais específicos.

RFC 3463
X.1.1Bad destination mailbox address

A caixa de correio do destinatário não existe no servidor de destino. É a devolução clássica por um endereço digitado errado ou uma conta desativada.

RFC 3463Usado com
X.1.2Bad destination system address

O domínio ou sistema de destino não existe ou não pode aceitar e-mails, por exemplo porque o domínio não resolve.

RFC 3463
X.1.3Bad destination mailbox address syntax

O endereço do destinatário tem uma sintaxe inválida.

RFC 3463Usado com
X.1.4Destination mailbox address ambiguous

O endereço do destinatário corresponde a mais de uma caixa de correio no sistema de destino.

RFC 3463
X.1.5Destination address valid

O endereço do destinatário é válido. Aparece como 2.1.5 na resposta positiva a RCPT TO.

RFC 3463Usado com
X.1.6Destination mailbox has moved, No forwarding address

A caixa de correio existia, mas foi transferida e não há um endereço de encaminhamento conhecido.

RFC 3463
X.1.7Bad sender's mailbox address syntax

O endereço do remetente tem uma sintaxe inválida.

RFC 3463
X.1.8Bad sender's system address

O domínio do remetente não existe ou não aceita respostas, por exemplo porque não tem registros MX nem A.

RFC 3463Usado com
X.1.9Message relayed to non-compliant mailer

A mensagem foi entregue a um sistema que não suporta notificações de status, então não será possível confirmar sua entrega final.

RFC 3886
X.1.10Recipient address has null MX

O domínio do destinatário publica um null MX: declara que não recebe e-mails.

RFC 7505Usado com
X.2Caixa de correio5
X.2.0Other or undefined mailbox status

A caixa de correio existe, mas algo relacionado a ela impediu a entrega e não há um código mais específico.

RFC 3463
X.2.1Mailbox disabled, not accepting messages

A caixa de correio existe, mas está desativada e não aceita mensagens, por exemplo uma conta suspensa.

RFC 3463
X.2.2Mailbox full

A caixa de correio do destinatário excedeu sua cota de armazenamento.

RFC 3463Usado com
X.2.3Message length exceeds administrative limit

A mensagem ultrapassa o tamanho máximo que o destinatário tem permissão para receber.

RFC 3463Usado com
X.2.4Mailing list expansion problem

O destinatário é uma lista de distribuição e não foi possível expandi-la em seus membros.

RFC 3463Usado com
X.3Sistema de e-mail7
X.3.0Other or undefined mail system status

O sistema de destino teve um problema que não se enquadra nos códigos mais específicos.

RFC 3463Usado com
X.3.1Mail system full

O armazenamento do sistema de e-mail de destino está cheio.

RFC 3463Usado com
X.3.2System not accepting network messages

O host de destino não está aceitando mensagens, por um desligamento iminente, sobrecarga ou manutenção.

RFC 3463 / RFC 7504Usado com
X.3.3System not capable of selected features

O sistema de destino não suporta algum recurso exigido pela mensagem.

RFC 3463
X.3.4Message too big for system

A mensagem ultrapassa o tamanho máximo que o servidor aceita para qualquer destinatário.

RFC 3463Usado com
X.3.5System incorrectly configured

O sistema de destino está mal configurado e não pode aceitar a mensagem.

RFC 3463
X.3.6Requested priority was changed

A mensagem foi aceita, mas com uma prioridade diferente da solicitada (extensão MT-PRIORITY).

RFC 6710Usado com
X.4Rede e roteamento8
X.4.0Other or undefined network or routing status

Houve um problema de rede ou de roteamento que não se enquadra nos códigos mais específicos.

RFC 3463
X.4.1No answer from host

O servidor de destino não respondeu à tentativa de conexão.

RFC 3463Usado com
X.4.2Bad connection

A conexão foi estabelecida, mas caiu ou ficou instável antes de concluir a entrega.

RFC 3463Usado com
X.4.3Directory server failure

Falhou um serviço de diretório necessário para a entrega, tipicamente a resolução DNS.

RFC 3463Usado com
X.4.4Unable to route

Não foi encontrada uma rota até o destino, por exemplo porque o domínio não tem registros MX nem A utilizáveis.

RFC 3463
X.4.5Mail system congestion

O sistema de e-mail está congestionado e não consegue processar a mensagem no momento.

RFC 3463Usado com
X.4.6Routing loop detected

Foi detectado um loop de roteamento: a mensagem passou vezes demais pelos mesmos servidores.

RFC 3463
X.4.7Delivery time expired

O tempo máximo de novas tentativas expirou e a mensagem é descartada sem ter sido entregue.

RFC 3463
X.5Protocolo de entrega7
X.5.0Other or undefined protocol status

Houve um problema com o protocolo de entrega que não se enquadra nos códigos mais específicos.

RFC 3463Usado com
X.5.1Invalid command

O comando não é válido, não é permitido naquele momento ou não é reconhecido.

RFC 3463Usado com
X.5.2Syntax error

O comando tem um erro de sintaxe e o servidor não consegue interpretá-lo.

RFC 3463Usado com
X.5.3Too many recipients

A mensagem tem mais destinatários do que o servidor aceita em uma transação.

RFC 3463Usado com
X.5.4Invalid command arguments

O comando é válido, mas seus argumentos não são ou não são suportados.

RFC 3463Usado com
X.5.5Wrong protocol version

Há uma incompatibilidade de versão do protocolo entre o cliente e o servidor.

RFC 3463
X.5.6Authentication Exchange line is too long

Uma linha da troca de AUTH excede o tamanho máximo suportado pelo servidor.

RFC 4954Usado com
X.6Conteúdo da mensagem10
X.6.0Other or undefined media error

Houve um problema com o conteúdo da mensagem que não se enquadra nos códigos mais específicos.

RFC 3463
X.6.1Media not supported

O destino não suporta o tipo de conteúdo da mensagem ou de algum de seus anexos.

RFC 3463
X.6.2Conversion required and prohibited

Para entregar a mensagem seria preciso converter seu conteúdo, mas o remetente proibiu isso.

RFC 3463
X.6.3Conversion required but not supported

Para entregar a mensagem seria preciso converter seu conteúdo, e o servidor não sabe fazer isso.

RFC 3463Usado com
X.6.4Conversion with loss performed

A mensagem foi entregue, mas a conversão do conteúdo perdeu informações.

RFC 3463Usado com
X.6.5Conversion Failed

A conversão do conteúdo da mensagem falhou.

RFC 3463
X.6.6Message content not available

Não foi possível obter o conteúdo da mensagem referenciado por URL (extensão BURL).

RFC 4468Usado com
X.6.7Non-ASCII addresses not permitted for that sender/recipient

O remetente ou o destinatário não suporta endereços com caracteres fora do ASCII (e-mail internacionalizado, SMTPUTF8).

RFC 6531Usado com
X.6.8UTF-8 string reply is required, but not permitted by the SMTP client

O servidor precisa responder com texto UTF-8, mas o cliente não anunciou suporte a SMTPUTF8.

RFC 6531Usado com
X.6.9UTF-8 header message cannot be transferred to one or more recipients

A mensagem tem cabeçalhos UTF-8 e não pode ser transferida para um ou mais destinatários que não os suportam, por isso é rejeitada.

RFC 6531Usado com
X.7Segurança e políticas31
X.7.0Other or undefined security status

Status de segurança sem mais detalhes. Aparece em autenticações bem-sucedidas (2.7.0), em falhas temporárias de AUTH (4.7.0) e em rejeições por política.

RFC 3463Usado com
X.7.1Delivery not authorized, message refused

O remetente não está autorizado a enviar para esse destinatário: bloqueio por blacklist, reputação, antispam ou tentativa de relay não permitida. Na variante 4.7.1, costuma indicar greylisting.

RFC 3463Usado com
X.7.2Mailing list expansion prohibited

O remetente não tem permissão para enviar para essa lista de distribuição.

RFC 3463Usado com
X.7.3Security conversion required but not possible

Seria preciso converter a mensagem de um protocolo de segurança para outro, e isso não é possível.

RFC 3463
X.7.4Security features not supported

A mensagem exige recursos de segurança que o destino não suporta.

RFC 3463Usado com
X.7.5Cryptographic failure

Uma operação criptográfica falhou no transporte, por exemplo a verificação de uma assinatura ou a descriptografia.

RFC 3463
X.7.6Cryptographic algorithm not supported

O destino não suporta o algoritmo criptográfico usado na mensagem.

RFC 3463
X.7.7Message integrity failure

A verificação de integridade falhou: a mensagem foi modificada em trânsito ou o checksum não confere.

RFC 3463
X.7.8Authentication credentials invalid

As credenciais de autenticação não são válidas: usuário ou senha incorretos.

RFC 4954Usado com
X.7.9Authentication mechanism is too weak

O mecanismo de autenticação escolhido é mais fraco do que a política do servidor exige.

RFC 4954Usado com
X.7.10Encryption Needed

É necessária uma camada de criptografia externa, como TLS, para usar o mecanismo de autenticação solicitado. Pensado principalmente para mecanismos que enviam a senha em texto puro.

RFC 5248Usado com
X.7.11Encryption required for requested authentication mechanism

O mecanismo de autenticação solicitado só é permitido em uma conexão criptografada.

RFC 4954Usado com
X.7.12A password transition is needed

O usuário precisa trocar a senha ou passar para outro mecanismo de autenticação.

RFC 4954Usado com
X.7.13User Account Disabled

A conta do usuário que tenta se autenticar está desativada.

RFC 5248Usado com
X.7.14Trust relationship required

O servidor só aceita mensagens de sistemas com os quais tem uma relação de confiança estabelecida.

RFC 5248Usado com
X.7.15Priority Level is too low

A prioridade da mensagem é baixa demais para aceitá-la neste momento (extensão MT-PRIORITY).

RFC 6710Usado com
X.7.16Message is too big for the specified priority

A mensagem é grande demais para a prioridade indicada (extensão MT-PRIORITY).

RFC 6710Usado com
X.7.17Mailbox owner has changed

A caixa de correio mudou de dono desde a data indicada pelo remetente, por isso a mensagem não é entregue (extensão RRVS).

RFC 7293
X.7.18Domain owner has changed

O domínio do destinatário mudou de dono desde a data indicada pelo remetente (extensão RRVS).

RFC 7293
X.7.19RRVS test cannot be completed

O servidor não consegue verificar se a caixa de correio mudou de dono, como o remetente solicitou (extensão RRVS).

RFC 7293
X.7.20No passing DKIM signature found

A mensagem não tem nenhuma assinatura DKIM válida e a política do receptor a exige.

RFC 7372Usado com
X.7.21No acceptable DKIM signature found

A mensagem tem assinaturas DKIM válidas, mas nenhuma atende à política do receptor (por exemplo, pelo domínio assinante ou pelo algoritmo).

RFC 7372Usado com
X.7.22No valid author-matched DKIM signature found

A mensagem não tem uma assinatura DKIM válida do mesmo domínio que aparece no cabeçalho From.

RFC 7372Usado com
X.7.23SPF validation failed

O IP de envio não está autorizado no registro SPF do domínio remetente.

RFC 7372Usado com
X.7.24SPF validation error

A avaliação do SPF retornou erro, por exemplo por um registro malformado ou consultas DNS demais.

RFC 7372Usado com
X.7.25Reverse DNS validation failed

O IP de envio não tem DNS reverso (PTR), ou o nome retornado não resolve de volta para esse IP.

RFC 7372Usado com
X.7.26Multiple authentication checks failed

Várias verificações de autenticação da mensagem falharam ao mesmo tempo, como SPF e DKIM.

RFC 7372Usado com
X.7.27Sender address has null MX

O domínio do remetente publica um null MX, então não poderia receber respostas nem devoluções, e a mensagem é rejeitada.

RFC 7505Usado com
X.7.28Mail flood detected

A mensagem parece fazer parte de um envio em massa de mensagens abusivas semelhantes.

draft-levine-mailbomb-header
X.7.29ARC validation failure

A validação da cadeia ARC falhou; o ARC preserva os resultados de autenticação quando a mensagem passa por encaminhadores ou listas de discussão.

RFC 8617Usado com
X.7.30REQUIRETLS support required

A mensagem exige REQUIRETLS e o próximo servidor da rota não suporta essa extensão, por isso ela não pode ser entregue com garantia de criptografia.

RFC 8689Usado com

Cole a resposta completa do servidor, por exemplo 550 5.7.1 Message rejected, para ver ao mesmo tempo o código básico e o aprimorado. Em um código básico, a pesquisa também mostra os códigos aprimorados que costumam acompanhá-lo.

Como funciona

Em uma sessão SMTP, cada comando do cliente (EHLO, MAIL FROM, RCPT TO, DATA…) recebe uma resposta do servidor que começa com um código de três dígitos. O primeiro diz como terminou: 2 significa sucesso, 3 que o servidor espera mais dados, 4 um erro temporário e 5 um erro permanente. O segundo indica a área: x0z sintaxe, x1z informação, x2z conexão e x5z sistema de e-mail. O texto que vem depois do código é livre e cada servidor escreve o seu; os programas só olham o número.

Como três dígitos dizem pouco sobre a causa, a RFC 3463 definiu os códigos de status aprimorados, no formato classe.assunto.detalhe: 5.1.1 é uma falha permanente (5) de endereçamento (1) porque a caixa de correio não existe (1). A classe repete o sentido do primeiro dígito (2, 4 ou 5), o assunto agrupa a causa e o detalhe a especifica. Os servidores que os usam anunciam isso com a extensão ENHANCEDSTATUSCODES na resposta ao EHLO, e o mesmo código aparece no campo Status das mensagens de devolução.

A tabela reúne os códigos básicos da RFC 5321 e os que as extensões de uso comum adicionam (AUTH, STARTTLS, ETRN e null MX), além de todos os códigos aprimorados do registro da IANA, com os códigos básicos com os quais cada um costuma aparecer. Os grandes provedores acrescentam seus próprios textos e links de ajuda, mas sempre sobre esses mesmos números.

Exemplos

550 5.1.1 <nadie@example.com>: Recipient address rejected: User unknown in local recipient table5xx Permanent · X.1.1 Bad destination mailbox addressA devolução típica do Postfix quando a conta não existe. Tentar novamente não adianta: é preciso corrigir o endereço. Se o mesmo destinatário funcionava antes, o mais provável é que a conta tenha sido desativada.
450 4.2.0 <ana@example.com>: Recipient address rejected: Greylisted4xx Transient · X.2.0 Other or undefined mailbox statusGreylisting: o servidor rejeita temporariamente o remetente desconhecido e espera que ele tente de novo. Um servidor de e-mail legítimo faz isso sozinho após alguns minutos e a mensagem entra; muitos programas de spam nunca tentam novamente.
AUTH LOGIN334 VXNlcm5hbWU6O 334 traz o desafio em Base64: VXNlcm5hbWU6 é “Username:” e o seguinte, UGFzc3dvcmQ6, é “Password:”. Se as credenciais estiverem incorretas, o servidor responde 535 5.7.8; se exigir criptografia antes, 538 ou 530.

Casos de uso

  • Entender por que um e-mail foi devolvido a partir da mensagem de erro retornada pelo servidor.
  • Distinguir se um erro é temporário e a fila vai tentar novamente, ou permanente e é preciso agir.
  • Diagnosticar falhas de autenticação ao configurar o envio de e-mail a partir de uma aplicação, uma impressora ou um servidor.
  • Interpretar rejeições por SPF, DKIM, DMARC, DNS reverso ou blacklists nos logs do servidor de e-mail.
  • Classificar devoluções em uma plataforma de e-mail marketing para remover os endereços inexistentes.
  • Ler uma sessão SMTP capturada com telnet, openssl s_client ou swaks.

Perguntas frequentes

Qual é a diferença entre um erro 4xx e um 5xx?

Um 4xx é temporário: o servidor que envia mantém a mensagem na fila e tenta novamente de tempos em tempos, em geral durante quatro ou cinco dias, antes de desistir e gerar uma devolução. Um 5xx é permanente: a devolução é imediata, e reenviar a mesma mensagem sem mudar nada vai falhar de novo.

Por que a resposta traz dois códigos, como 550 5.1.1?

O primeiro é o código básico de três dígitos exigido pela RFC 5321. O segundo é o código de status aprimorado da RFC 3463, que especifica a causa: um 550 pode ser causado por uma caixa de correio inexistente (5.1.1), por um bloqueio por política (5.7.1) ou por uma falha de SPF (5.7.23). Para diagnosticar, vale olhar principalmente o aprimorado.

O que significa o hífen em 550-5.7.1?

Que a resposta ocupa várias linhas. Todas trazem o mesmo código, mas as intermediárias o separam do texto com um hífen e a última com um espaço, e assim o cliente sabe quando a resposta terminou. É o mesmo que se vê na lista de extensões retornada pelo EHLO.

Por que recebo 550 5.7.1 se o endereço existe?

Porque o 5.7.1 não fala do destinatário, e sim do remetente: o servidor não autoriza você a entregar aquela mensagem. As causas comuns são que o IP de envio está em uma blacklist, que a verificação SPF, DKIM ou DMARC do domínio falha, que o IP não tem DNS reverso ou que houve uma tentativa de usar o servidor como relay sem autenticação. O texto que acompanha o código costuma dar a pista.

Por que recebo 530 ou 535 ao enviar e-mail de uma aplicação?

O 530 indica que o servidor exige autenticação, ou o início do TLS, antes de aceitar a mensagem; o 535, que o usuário ou a senha estão incorretos. Verifique se a aplicação usa a porta 587 com STARTTLS ou a 465 com TLS implícito, se a autenticação está ativada e, em provedores como Gmail ou Microsoft 365, se você está usando uma senha de app ou OAuth em vez da senha normal.