>_ DevTrendsit

Lingua

Home

Linguaggi

Sezioni

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicurezza
PHP

Come Distribuire il Tuo Servizio di Email Temporanea in Pochi Minuti

Chiunque abbia mai testato la registrazione utente o il reset della password nelle applicazioni web conosce questo problema. I servizi popolari di email usa e getta come TempMail sono pieni di pubblicità, i loro domini sono da tempo nella blacklist dei validatori, e le caselle di test personali su Gmail diventano rapidamente un caos.

Recentemente mi sono imbattuto in un progetto interessante chiamato TempFastMail del developer kasteckis. È un servizio leggero di email temporanea self-hosted che puoi avviare sul tuo dominio con un solo comando docker compose.

Temp Fast Mail frontpage photo

Perché Eseguire il Proprio Servizio di Email Temporanea

Le caselle di posta usa e getta pubbliche sono convenienti finché non si incontrano delle limitazioni. Prima di tutto, i servizi di terze parti possono vedere le email in entrata con tutti i link di conferma e i token. In secondo luogo, molti siti bloccano gli indirizzi provenienti da domini noti di email temporanee.

Un'istanza personale risolve entrambi i problemi:

  • Puoi collegare qualsiasi dominio personale che non sia elencato in nessun database di spam.
  • Tutti i messaggi in entrata rimangono sotto il tuo controllo.
  • Nessun captcha, banner pubblicitari o tracker di terze parti.
  • Le email vengono eliminate automaticamente dopo 48 ore, quindi il database non cresce.

Come Funziona l'Architettura

Sotto il cofano, il progetto utilizza uno stack moderno: backend PHP (basato sui tag del repository, è Symfony) gira tramite FrankenPHP, usa SQLite come database, e il frontend è costruito con React.

Il dettaglio più interessante qui è come l'autore ha risolto il problema della ricezione delle email in entrata. Configurare un server SMTP completo come Postfix e impostare i record MX diventa un mal di testa per molte persone. TempFastMail utilizza Cloudflare Email Routing e un worker Cloudflare gratuito. Un'email arriva al dominio, Cloudflare la intercetta e chiama l'API HTTP della tua istanza. Semplice, affidabile, e non richiede l'apertura della porta 25 sul server.

Avvio Rapido

Per iniziare, hai bisogno di un server con Docker installato e un dominio delegato a Cloudflare.

Crea il file docker-compose.yml:

services:
  tempfastmail:
    container_name: tempfastmail
    image: kasteckis/tempfastmail:latest
    environment:
      CREATE_RECEIVED_EMAIL_API_AUTHORIZATION_KEY: your-secret-api-token
      DEFAULT_URI: https://yourdomain.com
    ports:
      - "80:80"
    volumes:
      - ./sqlite:/app/sqlite

Dopo di che, devi solo configurare il worker gratuito nella dashboard di Cloudflare seguendo le istruzioni dal repository e collegarlo al tuo container tramite un token di autenticazione. Una volta in esecuzione, l'interfaccia web è accessibile nel browser. Puoi gestire le email e pulire manualmente il database attraverso il pannello di amministrazione usando il login predefinito [email protected].

Aspetti da Considerare

Il README nel repository è ancora breve e il progetto non ha molte stelle, quindi sono possibili piccole imperfezioni. Poiché SQLite viene utilizzato come archivio, il servizio è chiaramente progettato per uso personale o per un piccolo team di tester, non per migliaia di utenti concurrenti.

Per compiti QA locali, automazione dei test e protezione personale dallo spam, è una grande scoperta che ti fa risparmiare il fastidio di dover gestire server di posta complessi.

Progetti correlati