tutte le guide

// come risolvere

Mailgun "Sandbox subdomains are for test purposes only" (403): come risolvere

Mailgun rifiuta di inviare dal tuo dominio sandbox a un indirizzo che non è un destinatario autorizzato. Autorizza gli indirizzi di test o aggiungi il tuo dominio.

Cosa significa

Ogni nuovo account Mailgun riceve un dominio sandbox, un nome come sandbox1234abcd.mailgun.org, per poter provare subito l'API o SMTP. Consegna solo ai destinatari autorizzati: indirizzi che hai aggiunto e che hanno confermato. Se invii a chiunque altro, Mailgun rifiuta il messaggio, di solito con lo stato HTTP 403 e questo testo, segnalato da moltissimi utenti:

Sandbox subdomains are for test purposes only. Please add your own domain or add the address to authorized recipients in Account Settings.

Il tuo codice e le tue credenziali non hanno nulla di sbagliato: la richiesta è stata autenticata, ma il destinatario non è ammesso per un dominio sandbox.

Perché succede

  • La tua applicazione usa ancora il dominio sandbox in produzione, perché era il valore predefinito in un tutorial, in un plugin o in una variabile d'ambiente (MAILGUN_DOMAIN).
  • Il destinatario è stato aggiunto ma non ha confermato. Mailgun invia un invito; l'indirizzo diventa autorizzato solo dopo che il destinatario ha cliccato il link.
  • Il limite di destinatari è raggiunto. Il centro assistenza di Mailgun indica che puoi aggiungere fino a 5 destinatari autorizzati (al momento in cui scriviamo).
  • Il tuo piano limita l'invio. Il centro assistenza di Mailgun indica che gli account gratuiti senza carta di credito registrata, e i domini sandbox, possono inviare solo a destinatari autorizzati.
  • Più destinatari in una sola richiesta: basta un indirizzo non autorizzato in To, Cc o Bcc per provocare l'errore.
  • Le Routes e le mailing list sul dominio sandbox hanno la stessa restrizione: una Route che inoltra a un indirizzo esterno, o una lista con membri non autorizzati, fallisce allo stesso modo.

La sandbox esiste perché i nuovi account non possano essere usati per inviare spam a sconosciuti prima che il proprietario dimostri di controllare un vero dominio. Per questo non c'è alcuna impostazione che tolga la restrizione sulla sandbox stessa: la soluzione è sempre autorizzare l'indirizzo di test o passare al tuo dominio.

Come verificare

  1. Guarda il dominio nell'URL della tua API o nel login SMTP. Un URL come https://api.mailgun.net/v3/sandbox1234abcd.mailgun.org/messages, o un utente SMTP postmaster@sandbox1234abcd.mailgun.org, significa che sei sulla sandbox.
  2. Nel pannello di Mailgun apri Send, Domains, il dominio sandbox e la sua scheda di configurazione: lì sono elencati i destinatari autorizzati e il loro stato.
  3. Apri i Logs del messaggio fallito: mostrano il motivo completo.

Come risolvere

Per i test: autorizza il destinatario

Aggiungi l'indirizzo di test come destinatario autorizzato nelle impostazioni del dominio sandbox (solo gli utenti con ruolo Administrator o Developer possono farlo). Chiedi al titolare dell'indirizzo di aprire l'invito e confermare. Poi riprova. Questa soluzione è pensata solo per te e il tuo team, non per i clienti.

Per gli invii reali: aggiungi il tuo dominio

Aggiungi un dominio di tua proprietà in Send, Domains, Add new domain. Un sottodominio come mg.yourdomain.com è una scelta comune. Pubblica i record SPF e DKIM e verifica il dominio; i dettagli e gli errori DNS più frequenti sono in dominio Mailgun non verificato. Poi modifica la configurazione della tua applicazione:

# .env (example)
MAILGUN_DOMAIN=mg.yourdomain.com
MAIL_FROM_ADDRESS=hello@mg.yourdomain.com
# EU domain? use the EU endpoint
MAILGUN_ENDPOINT=api.eu.mailgun.net

Usa un indirizzo From sul tuo dominio verificato, mai sulla sandbox. Se l'account ti limita ai destinatari autorizzati a causa del tuo piano, aggiungi i dati di fatturazione o passa a un piano superiore come indicato nel pannello di Mailgun.

Se, dopo il cambio di dominio, ricevi 401 o "Forbidden", la chiave API o la regione non corrispondono al nuovo dominio: consulta Mailgun 401 Forbidden: chiave API e regione EU. Le credenziali SMTP appartengono a un solo dominio, quindi creane di nuove anche per il tuo dominio.

Verifica che sia risolto

Invia un messaggio dalla tua applicazione tramite il tuo dominio Mailgun all'indirizzo unico nella home page di Delivmail. L'indirizzo di test non è un destinatario autorizzato, quindi se arriva non sei più sulla sandbox. Leggi il report: SPF, DKIM e DMARC dovrebbero essere superati per il tuo dominio. Poi invia di nuovo ai destinatari reali che erano stati rifiutati. L'arrivo in posta in arrivo dipende comunque dalla tua reputazione e dal contenuto.

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