Sto costruendo un'app PHP che dovrebbe in qualche modo ricevere e-mail che devono essere importate nei record degli utenti. Nessuna delle soluzioni che ho trovato funzionerà (elencate e spiegate sotto). Spero che qualcuno là fuori abbia una possibile soluzione.
L'email della nostra organizzazione è ospitata da Google, quindi posso utilizzare l'API di Google per accedere all'account.
Il flusso di lavoro previsto è:
- Il client invia un indirizzo email centrale a cui le persone accedono tramite delega.
- Un agente esegue un'azione che indica che il thread di posta elettronica deve essere associato all'account del cliente nell'app.
- L'app viene in qualche modo informata che una particolare email deve essere importata e lo fa.
Ho provato diverse soluzioni:
-
Inizialmente l'app aveva una semplice ri-creazione in sola lettura della posta in arrivo. Questa ricreazione ha consentito agli Agenti di associare una particolare e-mail a qualsiasi account nell'app con un clic di un pulsante e di compilare un modulo modale. Tuttavia, questo metodo si è dimostrato non ideale, poiché gli agenti dovevano in genere rispondere o archiviare l'email, per la quale dovevano tornare su GMail.
-
Avevamo anche pensato di creare un nuovo record e server MX in modo che Agents potesse semplicemente inoltrare l'e-mail a
[client's ID]@app.mydomain.com
. Ciò è stato negato dalla gestione, anche se la manutenzione di un server di posta è molto impegnativa. -
Il passaggio successivo prevedeva che l'agente inoltrasse l'e-mail a
[email protected]
AND[client's ID]@app.mydomain.com
. Anche se app.mydomain.com non esiste, l'app potrebbe controllare l'indirizzo[email protected]
e analizzare a chi altro è stata inviata l'email. Tuttavia questo ha causato un sacco di messaggi "Email non inviati" da Google. -
Infine ho pensato che avremmo potuto inoltrare manualmente l'agente a
[email protected]
manualmente e includere nel corpo una chiave speciale che l'app avrebbe cercato. In genere questo tipo di cose viene inserito nell'oggetto e assomiglia a[REF:12588F3T6YYB]
. La nostra chiave speciale sembrerebbe[appname:client-id,other-client-id,etc]
. In questo momento sembra che questa sia la soluzione migliore. Ho provato a creare un componente aggiuntivo GMail che semplificherebbe questo processo, ma i componenti aggiuntivi non possono essere eseguiti quando si accede all'account tramite delega.
Esiste una magica quinta opzione che sarà facile da usare per i nostri agenti?