2011-06-14 55 views
7

Ho un'applicazione che invia e-mail quando un utente crea/modifica un record. Desidero che i miei utenti siano in grado di rispondere all'e-mail che è stata inviata a loro e che l'applicazione Web riceva l'e-mail, analizzarla e aggiornare automaticamente il record. Ho visto questo fatto in applicazioni web come Basecamp. L'e-mail di solito dice "Rispondi sopra questa linea", e se rispondi semplicemente all'e-mail, non devi accedere all'applicazione web per aggiornare il tuo ticket/conversazione.Come implementare una funzione di "risposta a questa email" per la mia applicazione web?

Come posso implementare questo tipo di funzionalità? (Non sto cercando una particolare implementazione linguistica, ma piuttosto una soluzione agnostica del linguaggio).

risposta

0

È necessario implementare un servizio/daemon che esegue il polling di una casella di posta elettronica per i nuovi messaggi. Per mettere in relazione un'e-mail in arrivo con i dati corrispondenti, è possibile includere un ID nell'oggetto dell'email in uscita.

+0

per argomento intendi Oggetto di posta elettronica? quindi consiglieresti di analizzare la riga dell'oggetto per l'ID? – Andrew

+0

Sì, con someid = [theid] e informa l'utente di non modificare l'oggetto. –

0

Sono d'accordo che dovresti creare un sistema per ricevere l'email in arrivo ma non necessariamente sono d'accordo sul fatto che il polling per esso sia la soluzione corretta. Dai un'occhiata a un post sul blog che ho scritto sull'argomento here. Si riferisce a Rails ma i concetti dovrebbero funzionare in qualsiasi lingua. Ecco perché abbiamo scritto il sistema CloudMailin per fornire un modo migliore di ricevere l'email.

Inoltre, è possibile utilizzare un indirizzo univoco per ogni messaggio di posta elettronica che impedirebbe all'utente di modificare la riga dell'oggetto come problema. La parte usa e getta di un indirizzo e-mail è utile per questo. ad esempio, reply [email protected]

+0

Mi sarebbe piaciuto utilizzare l'indirizzamento più/meno come hai detto, ma sfortunatamente quella funzione non è supportata dal server di posta che stiamo usando (Microsoft Exchange). – Andrew

+0

Ho sempre pensato che la + cosa fosse specifica di Gmail, ma è bello sapere che non lo è. anche se inviamo email tramite Amazon Marketplace, quindi devono essere registrati –

3

Ci sono 2 modi per farlo:

  1. si potrebbe usare un Procmail filter quello di inviare l'e-mail in entrata allo script. Ciò richiederebbe un po 'di know-how per l'installazione, ma è certamente possibile fare ciò che hai descritto con questo metodo.

  2. Utilizzare un servizio come MailGun - fanno tutto il lavoro duro di configurazione e configurazione del materiale del server di posta e lo espongono tramite una API Web programmabile. Questa settimana l'ho valutato per risolvere un problema simile a quello che hai e posso dirti: è davvero bello e ti consiglio vivamente di dargli un'occhiata da solo.

Problemi correlati