tutte le guide

// come risolvere

SMTP relay di Google Workspace "550 5.7.0 Mail relay denied": come risolvere

smtp-relay.gmail.com rifiuta il tuo server con 550 5.7.0 Mail relay denied o Invalid credentials for relay? Registra l'IP, correggi l'HELO o usa SMTP AUTH.

Cosa significa

Il servizio SMTP relay di Google Workspace (smtp-relay.gmail.com) permette ai tuoi server, alle tue applicazioni e ai tuoi dispositivi di inviare posta tramite Google. Prima, però, Google deve sapere che la connessione appartiene alla tua organizzazione Workspace. Quando non riesce ad associare la connessione al tuo account, rifiuta con un messaggio che di solito è simile a questo:

550-5.7.0 Mail relay denied [203.0.113.10]. Invalid credentials for
550-5.7.0 relay for one of the domains in: yourdomain.com (as obtained
550-5.7.0 from HELO and MAIL FROM). Email is being sent from a domain
550-5.7.0 or IP address which isn't registered in your Workspace account.
550-5.7.0 Please login to your Workspace account and verify that your
550-5.7.0 sending device is properly registered.

Google ti identifica in due modi: tramite l'indirizzo IP della connessione (se l'hai indicato nell'impostazione del relay) oppure tramite l'autenticazione SMTP con un utente Workspace. Poi usa il dominio nel saluto HELO/EHLO e nel mittente della busta (MAIL FROM) per trovare la tua organizzazione.

Perché succede

  • Il servizio di relay non è configurato nella Console di amministrazione, oppure la modifica non è ancora attiva (Google parla di fino a 24 ore).
  • L'IP non corrisponde. L'impostazione elenca un IP, ma il tuo server esce da un altro: NAT, un nuovo VPS, un provider cloud con IP che cambiano, oppure IPv6 invece di IPv4.
  • Nome HELO errato. Il server dice EHLO localhost o un nome interno come ip-10-0-0-5.ec2.internal, quindi Google non riesce a collegarlo al tuo dominio. Consulta hostname HELO/EHLO non valido.
  • Il dominio del mittente non è nel tuo account Workspace, per esempio un'applicazione che invia come alerts@otherdomain.com.
  • "Allowed senders" è troppo restrittivo: "Only registered Apps users in my domains" richiede che il mittente sia un utente esistente, quindi noreply@yourdomain.com senza casella fallisce.
  • Autenticazione richiesta ma non inviata, oppure inviata senza TLS.

È diverso dal caso di un normale utente che accede a smtp.gmail.com; per quegli errori di accesso consulta Gmail SMTP "535-5.7.8 Username and Password not accepted".

Come verificare

  1. Trova il vero IP pubblico del server di invio, dal server stesso:
    curl -4 https://ifconfig.me
    curl -6 https://ifconfig.me
    Se il secondo comando restituisce un indirizzo, il tuo server potrebbe collegarsi a Google in IPv6.
  2. Osserva il nome HELO e lo scambio con Google:
    swaks --server smtp-relay.gmail.com:587 --tls \
      --ehlo mail.yourdomain.com \
      --from app@yourdomain.com --to you@example.com
  3. Nella Console di amministrazione vai su Apps > Google Workspace > Gmail > Routing e apri l'impostazione SMTP relay service. Confronta l'elenco di IP, i mittenti consentiti e le opzioni di autenticazione con quanto hai trovato.
  4. Controlla l'IP di invio nelle blacklist di Delivmail e cercane il proprietario con whois se non sei sicuro della rete a cui appartiene.

Come risolvere

  1. Configura l'impostazione del relay (organizzazione di primo livello, servono i diritti di amministrazione delle impostazioni Gmail):
    • Allowed senders: "Only addresses in my domains" funziona per la maggior parte delle applicazioni e dei dispositivi e non richiede una casella per ogni indirizzo. Evita "Any addresses".
    • Authentication: spunta "Only accept mail from the specified IP addresses" e aggiungi l'IP pubblico del tuo server (tieni l'intervallo ristretto), e/o "Require SMTP Authentication".
    • Spunta "Require TLS encryption" se il tuo server supporta TLS.
  2. Usa un nome HELO corretto che appartenga a uno dei tuoi domini Workspace. Esempio per Postfix:
    relayhost = [smtp-relay.gmail.com]:587
    smtp_helo_name = mail.yourdomain.com
    smtp_tls_security_level = encrypt
    # force IPv4 if only an IPv4 address is registered
    smtp_address_preference = ipv4
  3. Oppure autenticati con un utente Workspace via TLS (porta 587 con STARTTLS o 465). In questo caso sono le credenziali dell'utente a identificare il tuo dominio. L'account deve avere un metodo di accesso valido (valgono le stesse regole su OAuth e password per le app dell'SMTP normale).
  4. Usa un mittente nei tuoi domini: imposta il mittente della busta e il From su un indirizzo di un dominio presente nel tuo account Workspace. Se devi inviare per un altro dominio, aggiungilo a Workspace come dominio secondario o dominio alias.
  5. Attendi che la modifica sia attiva, poi riprova.

Il relay tramite Google non firma con il tuo DKIM a meno che DKIM non sia attivo per il dominio in Workspace; consulta SPF, DKIM e DMARC per Google Workspace. Anche il tuo SPF deve includere _spf.google.com.

Verifica che sia risolto

Invia un messaggio tramite il relay all'indirizzo unico nella home page di Delivmail. Se arriva, il relay ti ha accettato. Nel report, SPF dovrebbe essere superato per i server di Google, DKIM dovrebbe essere firmato con il tuo dominio e DMARC dovrebbe essere superato. Poi invia di nuovo il messaggio originale. Se ricevi ancora un rifiuto che però parla di limiti del relay, hai superato questo errore e hai raggiunto una quota.

Verifica che sia risolto

Una modifica DNS può richiedere da pochi minuti a qualche ora. Poi invia una nuova email di test o scansiona di nuovo il tuo dominio.

Guide correlate