Codici di risposta SMTP
Riferimento dei codici di risposta SMTP a tre cifre e dei codici di stato estesi (X.Y.Z) che accompagnano i messaggi di mancata consegna e i rifiuti delle email. Cerca per codice o per testo, oppure incolla la riga completa restituita dal server.

117 di 117 codici

Codici di risposta base

2xxRisposta positiva di completamento9
211System status

Stato del sistema o risposta di aiuto del sistema. Poco usato nella pratica.

RFC 5321
214Help message

Messaggio di aiuto in risposta al comando HELP, con informazioni sull'uso del server o di un comando specifico.

RFC 5321
220Service ready

Saluto iniziale del server all'apertura della connessione: il servizio è pronto. Risponde anche a STARTTLS per indicare che può iniziare la negoziazione TLS.

RFC 5321
221Service closing transmission channel

Il server chiude la connessione, di solito in risposta al comando QUIT.

RFC 5321
235Authentication successful

L'autenticazione con AUTH è riuscita. Di solito è accompagnato dal codice esteso 2.7.0.

RFC 4954
250Requested mail action okay, completed

L'azione richiesta è stata completata. È la risposta abituale a EHLO, MAIL FROM, RCPT TO e alla fine di DATA, quando il server accetta il messaggio.

RFC 5321
251User not local; will forward

Il destinatario non è locale, ma il server accetta il messaggio e lo inoltrerà all'indirizzo indicato.

RFC 5321
252Cannot VRFY user, but will accept message

Il server non conferma se l'utente esiste (VRFY disattivato per evitare l'enumerazione degli account), ma accetterà il messaggio e tenterà di consegnarlo.

RFC 5321
253OK, pending messages for node started

Risposta a ETRN: il server ha iniziato a consegnare i messaggi in coda per il dominio o il nodo richiesto.

RFC 1985 (ETRN)
3xxRisposta positiva intermedia2
334Server challenge

Challenge del server durante AUTH, codificata in Base64. Il client deve rispondere con il dato successivo del meccanismo (ad esempio, il nome utente o la password in AUTH LOGIN).

RFC 4954
354Start mail input

Risposta a DATA: il server attende il contenuto del messaggio, che termina con una riga contenente solo un punto.

RFC 5321
4xxErrore temporaneo9
421Service not available, closing transmission channel

Il servizio non è disponibile e il server chiude la connessione: spegnimento, sovraccarico, troppe connessioni o limite di invio temporaneo. Il mittente deve riprovare più tardi.

RFC 5321
432A password transition is needed

L'utente deve cambiare la password o passare a un altro meccanismo di autenticazione prima di potersi autenticare. È accompagnato dal codice esteso 4.7.12.

RFC 4954
450Requested mail action not taken: mailbox unavailable

La casella di posta non è temporaneamente disponibile: occupata, bloccata o rifiutata temporaneamente per policy. Il greylisting di solito risponde con questo codice o con 451.

RFC 5321
451Requested action aborted: local error in processing

L'azione è stata interrotta per un errore locale del server, come una query DNS fallita o un filtro che non ha risposto. Il mittente deve riprovare più tardi.

RFC 5321
452Requested action not taken: insufficient system storage

Al momento il server non ha spazio sufficiente per accettare il messaggio. Indica anche che è stato superato il numero di destinatari per messaggio: il client deve inviare gli altri in un'altra transazione.

RFC 5321
454Temporary authentication failure

Errore temporaneo di autenticazione (ad esempio, il server delle credenziali non risponde) oppure TLS momentaneamente non disponibile quando si richiede STARTTLS.

RFC 4954 / RFC 3207
455Server unable to accommodate parameters

Al momento il server non può gestire i parametri inviati in MAIL FROM o RCPT TO, ma potrebbe accettarli più tardi.

RFC 5321
458Unable to queue messages for node

Risposta a ETRN: al momento il server non può elaborare la coda dei messaggi del nodo richiesto.

RFC 1985 (ETRN)
459Node not allowed

Risposta a ETRN: il nodo o dominio richiesto non è autorizzato a chiedere la consegna della propria coda.

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

Il server non riconosce il comando o la riga è troppo lunga. Lo usa anche AUTH quando una riga dello scambio supera la lunghezza massima consentita.

RFC 5321
501Syntax error in parameters or arguments

Il comando è valido, ma i suoi parametri o argomenti no: ad esempio un indirizzo malformato in MAIL FROM o un nome non valido in EHLO.

RFC 5321
502Command not implemented

Il server riconosce il comando ma non lo implementa o lo ha disattivato, come VRFY o EXPN su molti server.

RFC 5321
503Bad sequence of commands

I comandi sono arrivati nell'ordine sbagliato, ad esempio RCPT TO prima di MAIL FROM, o DATA senza destinatari validi. Alcuni server lo restituiscono se si tenta di inviare senza autenticarsi.

RFC 5321
504Command parameter not implemented

Il server non supporta il parametro indicato, ad esempio un meccanismo di AUTH che non gestisce.

RFC 5321
521Server does not accept mail

L'host non accetta posta di alcun tipo. Viene inviato come saluto al posto di 220 e il client non deve riprovare.

RFC 7504
530Authentication required

Il server richiede l'autenticazione, o l'avvio di TLS con STARTTLS, prima di accettare il comando. Tipico quando si usa la porta di invio 587 senza credenziali.

RFC 4954 / RFC 3207
534Authentication mechanism is too weak

Il meccanismo di autenticazione scelto è troppo debole secondo la policy del server. Alcuni provider lo restituiscono quando richiedono password per app o OAuth.

RFC 4954
535Authentication credentials invalid

Nome utente o password errati, o credenziali rifiutate. È accompagnato dal codice esteso 5.7.8.

RFC 4954
538Encryption required for requested authentication mechanism

Il meccanismo di autenticazione scelto è consentito solo su una connessione cifrata: bisogna prima eseguire STARTTLS.

RFC 4954
550Requested action not taken: mailbox unavailable

La casella di posta non esiste o non è disponibile, oppure il messaggio è stato rifiutato per policy (spam, blacklist, SPF, DKIM o DMARC). Il codice esteso che lo accompagna indica la causa precisa.

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

Il destinatario non è locale e il server non inoltra il messaggio; può indicare a quale indirizzo inviarlo.

RFC 5321
552Requested mail action aborted: exceeded storage allocation

Spazio assegnato superato: la casella del destinatario è piena o il messaggio supera la dimensione massima annunciata dall'estensione SIZE.

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

L'indirizzo email non è valido o non è consentito, ad esempio per una sintassi errata o perché il mittente non può usare quell'indirizzo.

RFC 5321
554Transaction failed

La transazione è fallita. Come saluto iniziale significa che non c'è servizio SMTP per quel client; dopo DATA, che il messaggio è stato rifiutato, spesso per il contenuto o per la reputazione del mittente.

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

Il server non riconosce o non implementa un parametro di estensione inviato in MAIL FROM o RCPT TO.

RFC 5321
556Domain does not accept mail

Il dominio del destinatario pubblica un null MX (un record MX che punta a «.»): dichiara di non ricevere posta, quindi non ha senso riprovare.

RFC 7504

Codici di stato estesi (RFC 3463)

2.X.XSuccesso4.X.XErrore temporaneo persistente5.X.XErrore permanente
X.0Altro o non definito1
X.0.0Other undefined status

Stato senza ulteriori dettagli: si usa quando si conosce solo la classe del risultato (successo, errore temporaneo o permanente).

RFC 3463
X.1Indirizzi11
X.1.0Other address status

C'è un problema con un indirizzo del messaggio che non rientra nei codici più specifici.

RFC 3463
X.1.1Bad destination mailbox address

La casella del destinatario non esiste sul server di destinazione. È il classico rimbalzo per un indirizzo scritto male o un account eliminato.

RFC 3463Usato con
X.1.2Bad destination system address

Il dominio o sistema di destinazione non esiste o non può accettare posta, ad esempio perché il dominio non si risolve.

RFC 3463
X.1.3Bad destination mailbox address syntax

L'indirizzo del destinatario ha una sintassi non valida.

RFC 3463Usato con
X.1.4Destination mailbox address ambiguous

L'indirizzo del destinatario corrisponde a più di una casella nel sistema di destinazione.

RFC 3463
X.1.5Destination address valid

L'indirizzo del destinatario è valido. Compare come 2.1.5 nella risposta positiva a RCPT TO.

RFC 3463Usato con
X.1.6Destination mailbox has moved, No forwarding address

La casella esisteva ma è stata spostata e non è noto un indirizzo di inoltro.

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

L'indirizzo del mittente ha una sintassi non valida.

RFC 3463
X.1.8Bad sender's system address

Il dominio del mittente non esiste o non accetta risposte, ad esempio perché non ha record MX né A.

RFC 3463Usato con
X.1.9Message relayed to non-compliant mailer

Il messaggio è stato consegnato a un sistema che non supporta le notifiche di stato, quindi non sarà possibile confermarne la consegna finale.

RFC 3886
X.1.10Recipient address has null MX

Il dominio del destinatario pubblica un null MX: dichiara di non ricevere posta.

RFC 7505Usato con
X.2Casella di posta5
X.2.0Other or undefined mailbox status

La casella esiste, ma qualcosa legato a essa ha impedito la consegna e non c'è un codice più specifico.

RFC 3463
X.2.1Mailbox disabled, not accepting messages

La casella esiste ma è disattivata e non accetta messaggi, ad esempio un account sospeso.

RFC 3463
X.2.2Mailbox full

La casella del destinatario ha superato la quota di spazio.

RFC 3463Usato con
X.2.3Message length exceeds administrative limit

Il messaggio supera la dimensione massima che il destinatario è autorizzato a ricevere.

RFC 3463Usato con
X.2.4Mailing list expansion problem

Il destinatario è una lista di distribuzione che non è stato possibile espandere nei suoi membri.

RFC 3463Usato con
X.3Sistema di posta7
X.3.0Other or undefined mail system status

Il sistema di destinazione ha avuto un problema che non rientra nei codici più specifici.

RFC 3463Usato con
X.3.1Mail system full

Lo spazio di archiviazione del sistema di posta di destinazione è pieno.

RFC 3463Usato con
X.3.2System not accepting network messages

L'host di destinazione non accetta messaggi, per uno spegnimento imminente, sovraccarico o manutenzione.

RFC 3463 / RFC 7504Usato con
X.3.3System not capable of selected features

Il sistema di destinazione non supporta una funzione richiesta dal messaggio.

RFC 3463
X.3.4Message too big for system

Il messaggio supera la dimensione massima che il server accetta per qualsiasi destinatario.

RFC 3463Usato con
X.3.5System incorrectly configured

Il sistema di destinazione è configurato male e non può accettare il messaggio.

RFC 3463
X.3.6Requested priority was changed

Il messaggio è stato accettato, ma con una priorità diversa da quella richiesta (estensione MT-PRIORITY).

RFC 6710Usato con
X.4Rete e instradamento8
X.4.0Other or undefined network or routing status

Si è verificato un problema di rete o di instradamento che non rientra nei codici più specifici.

RFC 3463
X.4.1No answer from host

Il server di destinazione non ha risposto al tentativo di connessione.

RFC 3463Usato con
X.4.2Bad connection

La connessione è stata stabilita ma si è interrotta o è diventata instabile prima di completare la consegna.

RFC 3463Usato con
X.4.3Directory server failure

Si è guastato un servizio di directory necessario alla consegna, tipicamente la risoluzione DNS.

RFC 3463Usato con
X.4.4Unable to route

Non è stato trovato un percorso verso la destinazione, ad esempio perché il dominio non ha record MX o A utilizzabili.

RFC 3463
X.4.5Mail system congestion

Il sistema di posta è congestionato e al momento non può elaborare il messaggio.

RFC 3463Usato con
X.4.6Routing loop detected

È stato rilevato un loop di instradamento: il messaggio è passato troppe volte dagli stessi server.

RFC 3463
X.4.7Delivery time expired

È scaduto il tempo massimo dei tentativi e il messaggio viene scartato senza essere stato consegnato.

RFC 3463
X.5Protocollo di consegna7
X.5.0Other or undefined protocol status

Si è verificato un problema con il protocollo di consegna che non rientra nei codici più specifici.

RFC 3463Usato con
X.5.1Invalid command

Il comando non è valido, non è consentito in quel momento o non è riconosciuto.

RFC 3463Usato con
X.5.2Syntax error

Il comando contiene un errore di sintassi e il server non riesce a interpretarlo.

RFC 3463Usato con
X.5.3Too many recipients

Il messaggio ha più destinatari di quanti il server ne accetti in una transazione.

RFC 3463Usato con
X.5.4Invalid command arguments

Il comando è valido, ma i suoi argomenti non lo sono o non sono supportati.

RFC 3463Usato con
X.5.5Wrong protocol version

C'è un'incompatibilità di versione del protocollo tra client e server.

RFC 3463
X.5.6Authentication Exchange line is too long

Una riga dello scambio AUTH supera la lunghezza massima ammessa dal server.

RFC 4954Usato con
X.6Contenuto del messaggio10
X.6.0Other or undefined media error

Si è verificato un problema con il contenuto del messaggio che non rientra nei codici più specifici.

RFC 3463
X.6.1Media not supported

La destinazione non supporta il tipo di contenuto del messaggio o di uno dei suoi allegati.

RFC 3463
X.6.2Conversion required and prohibited

Per consegnare il messaggio bisognerebbe convertirne il contenuto, ma il mittente lo ha vietato.

RFC 3463
X.6.3Conversion required but not supported

Per consegnare il messaggio bisognerebbe convertirne il contenuto, e il server non è in grado di farlo.

RFC 3463Usato con
X.6.4Conversion with loss performed

Il messaggio è stato consegnato, ma la conversione del contenuto ha perso informazioni.

RFC 3463Usato con
X.6.5Conversion Failed

La conversione del contenuto del messaggio è fallita.

RFC 3463
X.6.6Message content not available

Non è stato possibile recuperare il contenuto del messaggio referenziato tramite URL (estensione BURL).

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

Il mittente o il destinatario non supportano indirizzi con caratteri non ASCII (posta internazionalizzata, SMTPUTF8).

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

Il server deve rispondere con testo UTF-8, ma il client non ha annunciato il supporto a SMTPUTF8.

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

Il messaggio ha intestazioni UTF-8 e non può essere trasferito a uno o più destinatari che non le supportano, quindi viene rifiutato.

RFC 6531Usato con
X.7Sicurezza e policy31
X.7.0Other or undefined security status

Stato di sicurezza senza ulteriori dettagli. Compare nelle autenticazioni riuscite (2.7.0), negli errori temporanei di AUTH (4.7.0) e nei rifiuti per policy.

RFC 3463Usato con
X.7.1Delivery not authorized, message refused

Il mittente non è autorizzato a inviare a quel destinatario: blocco per blacklist, reputazione, antispam o tentativo di relay non consentito. Nella variante 4.7.1 indica di solito il greylisting.

RFC 3463Usato con
X.7.2Mailing list expansion prohibited

Il mittente non ha il permesso di inviare a quella lista di distribuzione.

RFC 3463Usato con
X.7.3Security conversion required but not possible

Bisognerebbe convertire il messaggio da un protocollo di sicurezza a un altro e non è possibile.

RFC 3463
X.7.4Security features not supported

Il messaggio richiede funzioni di sicurezza che la destinazione non supporta.

RFC 3463Usato con
X.7.5Cryptographic failure

Un'operazione crittografica nel trasporto è fallita, ad esempio la verifica di una firma o la decifratura.

RFC 3463
X.7.6Cryptographic algorithm not supported

La destinazione non supporta l'algoritmo crittografico usato nel messaggio.

RFC 3463
X.7.7Message integrity failure

La verifica di integrità è fallita: il messaggio è stato modificato in transito o il checksum non corrisponde.

RFC 3463
X.7.8Authentication credentials invalid

Le credenziali di autenticazione non sono valide: nome utente o password errati.

RFC 4954Usato con
X.7.9Authentication mechanism is too weak

Il meccanismo di autenticazione scelto è più debole di quanto richieda la policy del server.

RFC 4954Usato con
X.7.10Encryption Needed

Serve un livello di cifratura esterno, come TLS, per usare il meccanismo di autenticazione richiesto. Pensato soprattutto per i meccanismi che inviano la password in chiaro.

RFC 5248Usato con
X.7.11Encryption required for requested authentication mechanism

Il meccanismo di autenticazione richiesto è consentito solo su una connessione cifrata.

RFC 4954Usato con
X.7.12A password transition is needed

L'utente deve cambiare la password o passare a un altro meccanismo di autenticazione.

RFC 4954Usato con
X.7.13User Account Disabled

L'account dell'utente che tenta di autenticarsi è disattivato.

RFC 5248Usato con
X.7.14Trust relationship required

Il server accetta solo messaggi da sistemi con cui ha una relazione di fiducia stabilita.

RFC 5248Usato con
X.7.15Priority Level is too low

La priorità del messaggio è troppo bassa per accettarlo in questo momento (estensione MT-PRIORITY).

RFC 6710Usato con
X.7.16Message is too big for the specified priority

Il messaggio è troppo grande per la priorità indicata (estensione MT-PRIORITY).

RFC 6710Usato con
X.7.17Mailbox owner has changed

La casella ha cambiato proprietario dopo la data indicata dal mittente, quindi il messaggio non viene consegnato (estensione RRVS).

RFC 7293
X.7.18Domain owner has changed

Il dominio del destinatario ha cambiato proprietario dopo la data indicata dal mittente (estensione RRVS).

RFC 7293
X.7.19RRVS test cannot be completed

Il server non può verificare se la casella ha cambiato proprietario, come richiesto dal mittente (estensione RRVS).

RFC 7293
X.7.20No passing DKIM signature found

Il messaggio non ha alcuna firma DKIM valida e la policy del destinatario la richiede.

RFC 7372Usato con
X.7.21No acceptable DKIM signature found

Il messaggio ha firme DKIM valide, ma nessuna rispetta la policy del destinatario (ad esempio per il dominio firmatario o l'algoritmo).

RFC 7372Usato con
X.7.22No valid author-matched DKIM signature found

Il messaggio non ha una firma DKIM valida dello stesso dominio che compare nell'intestazione From.

RFC 7372Usato con
X.7.23SPF validation failed

L'IP di invio non è autorizzato nel record SPF del dominio mittente.

RFC 7372Usato con
X.7.24SPF validation error

La valutazione SPF ha dato errore, ad esempio per un record malformato o troppe query DNS.

RFC 7372Usato con
X.7.25Reverse DNS validation failed

L'IP di invio non ha un DNS inverso (PTR), oppure il nome restituito non si risolve di nuovo in quell'IP.

RFC 7372Usato con
X.7.26Multiple authentication checks failed

Sono falliti contemporaneamente più controlli di autenticazione del messaggio, come SPF e DKIM.

RFC 7372Usato con
X.7.27Sender address has null MX

Il dominio del mittente pubblica un null MX, quindi non potrebbe ricevere risposte né rimbalzi e il messaggio viene rifiutato.

RFC 7505Usato con
X.7.28Mail flood detected

Il messaggio sembra far parte di un invio massivo di messaggi abusivi simili.

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

La validazione della catena ARC è fallita; ARC conserva i risultati dell'autenticazione quando il messaggio passa per inoltri o mailing list.

RFC 8617Usato con
X.7.30REQUIRETLS support required

Il messaggio richiede REQUIRETLS e il server successivo nel percorso non supporta quell'estensione, quindi non può essere consegnato con garanzia di cifratura.

RFC 8689Usato con

Incolla la risposta completa del server, ad esempio 550 5.7.1 Message rejected, per vedere insieme il codice base e quello esteso. Per un codice base, la ricerca mostra anche i codici estesi che di solito lo accompagnano.

Come funziona

In una sessione SMTP, ogni comando del client (EHLO, MAIL FROM, RCPT TO, DATA…) riceve una risposta del server che inizia con un codice a tre cifre. La prima dice com'è andata: 2 significa successo, 3 che il server attende altri dati, 4 un errore temporaneo e 5 un errore permanente. La seconda indica l'area: x0z sintassi, x1z informazioni, x2z connessione e x5z sistema di posta. Il testo che segue il codice è libero e ogni server scrive il suo; i programmi guardano solo il numero.

Poiché tre cifre dicono poco sulla causa, la RFC 3463 ha definito i codici di stato estesi, nel formato classe.soggetto.dettaglio: 5.1.1 è un errore permanente (5) di indirizzamento (1) perché la casella non esiste (1). La classe ripete il senso della prima cifra (2, 4 o 5), il soggetto raggruppa la causa e il dettaglio la precisa. I server che li usano lo annunciano con l'estensione ENHANCEDSTATUSCODES nella risposta a EHLO, e lo stesso codice compare nel campo Status dei messaggi di mancata consegna.

La tabella raccoglie i codici base della RFC 5321 e quelli aggiunti dalle estensioni di uso comune (AUTH, STARTTLS, ETRN e null MX), più tutti i codici estesi del registro IANA, ciascuno con i codici base con cui compare di solito. I grandi provider aggiungono testi e link di aiuto propri, ma sempre su questi stessi numeri.

Esempi

550 5.1.1 <nadie@example.com>: Recipient address rejected: User unknown in local recipient table5xx Permanent · X.1.1 Bad destination mailbox addressIl tipico rimbalzo di Postfix quando l'account non esiste. Riprovare non serve: bisogna correggere l'indirizzo. Se lo stesso destinatario funzionava prima, molto probabilmente l'account è stato eliminato.
450 4.2.0 <ana@example.com>: Recipient address rejected: Greylisted4xx Transient · X.2.0 Other or undefined mailbox statusGreylisting: il server rifiuta temporaneamente il mittente sconosciuto e si aspetta che riprovi. Un server di posta legittimo lo fa da solo dopo pochi minuti e il messaggio passa; molti programmi di spam non riprovano mai.
AUTH LOGIN334 VXNlcm5hbWU6Il 334 contiene la challenge in Base64: VXNlcm5hbWU6 è «Username:» e la successiva, UGFzc3dvcmQ6, è «Password:». Se le credenziali sono errate, il server risponde 535 5.7.8; se richiede prima la cifratura, 538 o 530.

Casi d'uso

  • Capire perché un'email è stata respinta a partire dal messaggio di errore restituito dal server.
  • Distinguere se un errore è temporaneo e la coda riproverà, o permanente e bisogna intervenire.
  • Diagnosticare errori di autenticazione quando configuri l'invio di email da un'applicazione, una stampante o un server.
  • Interpretare i rifiuti per SPF, DKIM, DMARC, DNS inverso o blacklist nei log del server di posta.
  • Classificare i rimbalzi in una piattaforma di invii massivi per rimuovere gli indirizzi inesistenti.
  • Leggere una sessione SMTP catturata con telnet, openssl s_client o swaks.

Domande frequenti

Che differenza c'è tra un errore 4xx e uno 5xx?

Un 4xx è temporaneo: il server mittente lascia il messaggio in coda e riprova a intervalli regolari, in genere per quattro o cinque giorni, prima di arrendersi e generare un rimbalzo. Un 5xx è permanente: il rimbalzo è immediato e riprovare lo stesso messaggio senza cambiare nulla fallirà di nuovo.

Perché la risposta contiene due codici, come 550 5.1.1?

Il primo è il codice base a tre cifre richiesto dalla RFC 5321. Il secondo è il codice di stato esteso della RFC 3463, che precisa la causa: un 550 può dipendere da una casella inesistente (5.1.1), da un blocco per policy (5.7.1) o da un errore SPF (5.7.23). Per la diagnosi conviene guardare soprattutto quello esteso.

Cosa significa il trattino in 550-5.7.1?

Che la risposta occupa più righe. Tutte riportano lo stesso codice, ma quelle intermedie lo separano dal testo con un trattino e l'ultima con uno spazio: così il client sa quando la risposta è finita. È lo stesso che si vede nell'elenco delle estensioni restituito da EHLO.

Perché vengo rifiutato con 550 5.7.1 se l'indirizzo esiste?

Perché il 5.7.1 non riguarda il destinatario ma il mittente: il server non ti autorizza a consegnargli quel messaggio. Le cause abituali sono che l'IP di invio è in una blacklist, che fallisce la verifica SPF, DKIM o DMARC del dominio, che l'IP non ha DNS inverso o che si è tentato di usare il server come relay senza autenticarsi. Il testo che accompagna il codice di solito dà l'indizio.

Perché ricevo 530 o 535 quando invio email da un'applicazione?

Il 530 indica che il server richiede l'autenticazione, o l'avvio di TLS, prima di accettare il messaggio; il 535, che nome utente o password sono errati. Verifica che l'applicazione usi la porta 587 con STARTTLS o la 465 con TLS implicito, che abbia l'autenticazione attivata e, con provider come Gmail o Microsoft 365, di usare una password per app o OAuth al posto della password abituale.