2012-01-06 10 views
7

Estoy construyendo un sistema de solicitud de soporte básico donde el cliente puede iniciar sesión y hacer una pregunta y un administrador puede entrar y responder y establecerá el estado en "Respondida" y enviará un correo electrónico al cliente para informarle que alguien tiene respondidoPHP/MySQL Ticket Response - ¿Almacena repsonse de correo electrónico en la base de datos?

Mi pregunta es ... Tengo una sección de "comentarios" que es un registro de la interacción entre el administrador y el cliente. Si envío por correo electrónico al cliente la respuesta inicial del administrador, entonces tengo la sensación de que presionarán "Responder" desde su correo electrónico y comenzarán a comunicarse por allí, y los registros no se almacenarán.

Podría enviar un correo electrónico al cliente y decir "Inicie sesión para ver la respuesta", o tal vez si el cliente acierta la respuesta, de alguna manera puedo rastrearlo e insertarlo en la tabla de comentarios como lo hicieron desde el sitio web . Si eso es posible?

Solo me pregunto si hay una forma estándar de hacer esto y cualquier sugerencia que pueda tener.

Gracias!

+1

No utilizar direcciones de correo electrónico 'reales'.Use los virtuales que enrutan los correos electrónicos a través de su sistema de tickets para que puedan registrarse. –

Respuesta

7

Al enviar el correo electrónico al usuario puede enviarlo desde una dirección de correo electrónico creada para ese ticket específico. Algo que puede identificarlo con su sistema de correo electrónico para ayudarlo a regresarlo al sistema de emisión de boletos php.

apoyo (ticketnumber) @dominio

[email protected]

entonces depende de su servidor de correo electrónico como ir de allí. Hay varios consejos útiles en esta pregunta que pueden ayudarlo o comenzar.

How to get email and their attachments from PHP

1

Si desea su respuesta que se inserta automáticamente en la base de datos, tendrá un asignar una tarea programada en el servidor para ejecutar un script php para detectar si hay una respuesta de un cliente (que necesita una tabla que liste el correo electrónico y los nombres de los clientes.

Cada vez que un cliente usa el sistema de tickets, su dirección de correo electrónico y su nombre entran en esta tabla).

También necesitará conectarse a su Bandeja de entrada a través de imap o SMTP, y hay scripts para hacer esto (phpmailer, swiftmailer, etc.) y "recorrer" cada correo electrónico para ver si el correo electrónico del remitente coincide con alguno en su tabla de clientes. Entonces entonces un INSERTAR a la tabla de comentarios.

Otra forma es leer los correos electrónicos cada vez que se carga la página de comentarios, pero esto hará que la página tarde más tiempo en cargarse. Sin embargo, los datos siempre serán más "en tiempo real" en comparación con los trabajos cron.

+0

Gracias por su respuesta. Uso PHPMailer y me conecto a través de SMTP para enviar correos electrónicos, pero no encuentro nada en la web sobre cómo conectarme a través de SMTP para leer los correos electrónicos y verificar qué entra. Tengo el correo electrónico de los clientes almacenado en la tabla de usuarios, así que solo necesito ayuda para detectar si hay una respuesta de un cliente con PHPmailer. – Drew

1

Puede usar tuberías de correo electrónico (si su servidor lo admite).

En el asunto, tendría un identificador único que contiene la identificación del ticket o algo exclusivo del ticket. Ejemplo: "Cómo como comida [Pregunta: # 1234]", donde 1234 es la identificación del boleto.

En su panel de control, debe configurar un reenviador de correo electrónico para su secuencia de comandos de tuberías de correo electrónico.

Este tutorial ofrece los elementos básicos para tuberías de correo electrónico, y lo utilizó como base para mi guión tuberías: http://www.damnsemicolon.com/php/parse-emails-in-php-with-email-piping-part-1

Cuestiones relacionadas