// 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
- 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 SMTPpostmaster@sandbox1234abcd.mailgun.org, significa che sei sulla sandbox. - 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.
- 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
- Errore Gmail "550 5.7.26": email non autenticataGmail ha rifiutato la tua email perché non ha potuto confermare che arriva dal tuo dominio. SPF, DKIM o DMARC manca o fallisce. Ecco come risolvere.
- Errore "550 5.7.1": messaggio rifiutato o bloccato da una policyUn bounce 5.7.1 significa che il server di destinazione ha rifiutato la tua email di proposito. Impara a leggere i messaggi di errore, trovare il vero motivo e risolverlo.
- Tasso di bounce alto: pulisci la tua mailing listInviare a indirizzi che non esistono più danneggia in fretta la tua reputazione. Scopri la differenza tra hard bounce e soft bounce e rimuovi gli indirizzi non validi dopo ogni invio.
- Email in ritardo: greylisting ed errori temporanei 4xxAlcuni server rispondono "riprova più tardi" di proposito. Un normale server di posta riprova e l'email arriva con qualche minuto di ritardo. Ecco come distinguere i ritardi normali dai veri problemi.
- Rinvii "421 4.7.0 [TSS04]" di Yahoo e AOLYahoo sta rifiutando temporaneamente le tue email per il loro volume o per le segnalazioni. Rallenta, lascia che i tentativi continuino e correggi ciò che a Yahoo non piace.