Email & Notifications / Inbound Email
Getting Started
Tickets & Conversations
Automation & Workflows
Email & Notifications
Email in Entrata
Crea e rispondi ai ticket direttamente dalle email in arrivo. Escalated supporta i webhook di Mailgun, Postmark, AWS SES e il polling IMAP come fallback.
Come Funziona
- Il tuo provider email riceve un messaggio al tuo indirizzo di supporto (es.
support@yourapp.com) - Il provider lo inoltra alla tua app tramite webhook (oppure il polling IMAP lo recupera)
- Escalated normalizza il payload e verifica la corrispondenza dei thread tramite il riferimento nell'oggetto (es.
[ESC-00001]) o gli headerIn-Reply-To - Le email corrispondenti aggiungono una risposta; le email senza corrispondenza creano un nuovo ticket (o un ticket guest per mittenti sconosciuti)
Configurazione
Abilita le email in entrata e configura il tuo adattatore nelle impostazioni di amministrazione, o tramite variabili d'ambiente. Le impostazioni di amministrazione hanno la precedenza sui valori env/config.
URL dei Webhook
Punta il webhook in entrata del tuo provider email a questi URL. Queste route non richiedono autenticazione (utilizzano la verifica della firma).
| Provider | URL del Webhook |
|---|---|
| Mailgun | POST /support/inbound/mailgun |
| Postmark | POST /support/inbound/postmark |
| AWS SES | POST /support/inbound/ses |
Polling IMAP
Per i provider email senza supporto webhook, usa il comando di polling IMAP in modo programmato.
Funzionalità
- Rilevamento dei thread tramite riferimento nell'oggetto e header In-Reply-To / References
- Ticket guest per mittenti sconosciuti con nomi visualizzati derivati automaticamente
- Riapertura automatica dei ticket risolti o chiusi quando arriva una risposta via email
- Rilevamento duplicati tramite header Message-ID per prevenire l'elaborazione duplicata
- Gestione allegati con limiti configurabili di dimensione e numero
- Log di audit -- ogni email in entrata viene registrata per debug e conformità
- Configurabile dall'amministratore -- tutte le impostazioni gestibili dal pannello di amministrazione con fallback su env/config
Configurazione
# .env
ESCALATED_INBOUND_EMAIL=true
ESCALATED_INBOUND_ADDRESS=support@yourapp.com
# Mailgun
ESCALATED_INBOUND_ADAPTER=mailgun
ESCALATED_MAILGUN_SIGNING_KEY=your-signing-key
# Postmark
ESCALATED_INBOUND_ADAPTER=postmark
ESCALATED_POSTMARK_INBOUND_TOKEN=your-token
# AWS SES
ESCALATED_INBOUND_ADAPTER=ses
ESCALATED_SES_TOPIC_ARN=arn:aws:sns:us-east-1:...
# IMAP
ESCALATED_INBOUND_ADAPTER=imap
ESCALATED_IMAP_HOST=imap.gmail.com
ESCALATED_IMAP_USERNAME=support@yourapp.com
ESCALATED_IMAP_PASSWORD=your-app-password
Polling IMAP
// routes/console.php
Schedule::command('escalated:poll-imap')->everyMinute();