如何将电子邮件对话保持在一起MVC网站

时间:2017-03-28 15:27:16

标签: c# asp.net-mvc entity-framework

我正在使用票务系统,工作人员可以使用smtp向客户发送电子邮件,当客户回复时我会使用imap将其取回并将其添加回票证。

现在我在主题行中添加了ticketid,所以当收到电子邮件时,我可以将其附加到现有票证。

但客户有时会删除主题行和回复,从而创建新票证。

任何人都可以建议我如何解决它。我认为Zendesk通过电子邮件地址附加了ticketid,不确定这是否有用。

2 个答案:

答案 0 :(得分:1)

大多数系统在回复中都有评论,告知客户不要编辑主题行。 但是,如果他们删除主题,您可以搜索电子邮件内容(如果它们包含前一个回复中包含主题行的信息),如果您想限制它,可能是前200行,使用正则表达式来匹配您的主题行文本字符串并从中提取票号。

答案 1 :(得分:0)

将票证ID嵌入所有主题,消息ID和正文中,并在主题,引用字段和回复正文中查找。

如果您想要特别小心和/或有许多Outlook用户作为客户,您甚至可以将其嵌入到Thread-Index中,这将使Outlook响应必要的详细信息。线程索引通常具有160位熵的空间,您可以嵌入票证ID并且仍然具有> 100比特。 http://rant.gulbrandsen.priv.no/aox/thread-index详细描述了格式。

一个例子:

<span>{{color.mix ? color.mix : color.pure}}</span>

如果你找回一个以424242开头的线程索引,那么接下来的六位数是个问题,如果你找回包含ticket-34112的References行,你知道问题编号,等等。