2012-01-06 14 views
7

Sto costruendo un sistema di richiesta di supporto di base in cui il cliente può accedere e fare una domanda e un amministratore può entrare e rispondere e imposterà lo stato su "Risposto" e invierà un'e-mail al cliente per far sapere che qualcuno ha risposto.Risposta ticket PHP/MySQL - Memorizza la risposta via e-mail nel database?

La mia domanda è .. Ho una sezione "commenti" che è un registro dell'interazione tra l'amministratore e il cliente. Se invio via e-mail al cliente la risposta iniziale da parte dell'amministratore, ho la sensazione che colpiranno "Rispondi" dalla propria e-mail e cominceranno a comunicare da lì, e i registri non verranno memorizzati.

Potrei mandare un'e-mail al cliente e dire "Accedi per visualizzare la risposta", o forse se il cliente risponde, posso in qualche modo rintracciarlo e inserirlo nella tabella dei commenti come l'hanno fatto dal sito web . Se è possibile?

Basta chiedersi se c'è un modo standard per fare questo e tutti i suggerimenti che si possono avere.

Grazie!

+1

Non utilizzare indirizzi email 'reali'.Utilizza quelli virtuali che instradano le e-mail attraverso il tuo sistema di ticket in modo che possano essere registrate. –

risposta

7

Quando si invia l'e-mail all'utente, è possibile farlo inviare da un indirizzo e-mail creato per quel biglietto specifico. Qualcosa che può identificarlo con il tuo sistema di posta elettronica per aiutarti a indirizzarlo al sistema di biglietteria php.

supporto (ticketnumber) @dominio

[email protected]

Poi dipende dal vostro server di posta elettronica come andare da lì. Ci sono molti suggerimenti utili a questa domanda che possono aiutare o iniziare.

How to get email and their attachments from PHP

1

Se si desidera loro risposta da inserire automaticamente nel DB, avrete un'assegnare un lavoro cron nel server per eseguire uno script php per rilevare se c'è una risposta da un cliente (che si bisogno di una tabella con l'e-mail e i nomi dei clienti

Ogni volta che un cliente utilizza il sistema di ticket, la loro e-mail e il nome vanno in questa tabella).

Dovrai anche connetterti alla tua casella di posta tramite imap o SMTP, e ci sono script per farlo (phpmailer, swiftmailer, ecc.) E "camminare" attraverso ogni email e vedere se l'email del mittente corrisponde a qualsiasi tabella dei clienti. Quindi, inserisci un INSERT nella tabella dei commenti.

Un altro modo è quello di leggere le e-mail ogni volta che viene caricata la pagina dei commenti, ma ciò causerà un caricamento più lungo della pagina. Tuttavia, i dati saranno sempre più "in tempo reale" rispetto ai lavori cron.

+0

Grazie per la risposta. Uso PHPMailer e mi collego via SMTP per inviare e-mail, ma non riesco a trovare nulla sul web su come collegarmi via SMTP per leggere le e-mail e controllare cosa sta arrivando? Ho l'email dei clienti memorizzata nella tabella degli utenti, quindi ho solo bisogno di aiuto per rilevare se c'è una risposta da un cliente con PHPmailer. – Drew

1

È possibile utilizzare le pipeline di posta elettronica (se il server lo supporta).

Nell'oggetto, avresti un identificativo univoco che contiene l'ID del biglietto o qualcosa di unico per il biglietto. Esempio: "Come mangio il cibo [Domanda: # 1234]", dove 1234 è l'ID del biglietto.

Nel pannello di controllo, è necessario impostare un inoltro di posta elettronica per lo script di convogliamento della posta elettronica.

Questo tutorial offre le basi per tubazioni e-mail, e l'ho usato come base per il mio script tubazioni: http://www.damnsemicolon.com/php/parse-emails-in-php-with-email-piping-part-1

Problemi correlati