PHP / MySQL 票务回复 - 将电子邮件响应存储在数据库中?

7
我正在构建一个基本的支持请求系统,客户可以登录并提出问题,管理员可以回复并将状态设置为“已回复”,并通过电子邮件通知客户有人回复了。
我的问题是...我有一个“评论”部分,记录管理员和客户之间的互动。如果我向客户发送管理员的初始响应,那么他们可能会在电子邮件中点击“回复”并开始通过电子邮件进行沟通,而这些日志将不会被存储。
我可以向客户发送电子邮件并说“登录以查看响应”,或者如果客户确实点击了“回复”,我可以以某种方式跟踪它,并像他们从网站上做的那样将其插入到评论表中。如果这是可能的话?
只是想知道是否有标准的方法来解决这个问题,以及您可能有的任何建议。
谢谢!

1
不要使用“真实”的电子邮件地址。请使用虚拟的电子邮件地址,将电子邮件通过您的工单系统路由,以便记录。 - Marc B
3个回答

8
当向用户发送电子邮件时,您可以使用为特定工单创建的电子邮件地址进行发送。这样可以将其与您的电子邮件系统区分开来,以帮助您将其路由回 php 工单系统。
支持(工单号)@域名

support12345@mydomain.com

然后就取决于您的电子邮件服务器如何处理了。这个问题提供了一些有用的提示,可能会帮助您入门。

如何从PHP获取电子邮件及其附件


1
如果您想要自动将他们的回复插入到数据库中,需要在服务器上分配一个cron作业运行PHP脚本,检测是否有客户回复(您需要一个列出客户电子邮件和名称的表格,每次客户使用工单系统时,他们的电子邮件和姓名都会进入此表格)。
您还需要通过IMAP或SMTP连接到收件箱,有一些脚本可以实现这一点(如phpmailer、swiftmailer等),并“遍历”每个电子邮件,查看发件人电子邮件是否与您的客户表中的任何电子邮件匹配。然后进行对评论表的插入操作。
另一种方法是每次加载评论页面时读取电子邮件,但这会导致页面加载时间更长。但是,数据将始终比cron作业更“实时”。

感谢您的回复。我使用PHPMailer并通过SMTP连接发送电子邮件,但是我在网上找不到任何关于如何通过SMTP连接读取电子邮件并检查收到的内容的信息?我已将客户电子邮件存储在用户表中-因此,我只需要帮助检测是否有来自客户的回复与PHPmailer。 - Drew

1

如果您的服务器支持,您可以使用电子邮件管道。

在主题中,您将有一个包含工单ID或与工单相关的唯一标识符的唯一标识符。例如:“我如何吃食物 [问题:#1234]”,其中1234是工单ID。

在您的控制面板中,您将设置一个电子邮件转发器到您的电子邮件管道脚本。

此教程提供了电子邮件管道的基础知识,并且我将其用作我的管道脚本的基础:http://www.damnsemicolon.com/php/parse-emails-in-php-with-email-piping-part-1


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接