2010-08-25 72 views
4

当前在我们的系统上,当用户与我们联系时,我们通过我们的管理面板回复。然后向用户发送包含我们的消息和对话中的其他消息的电子邮件。如何跟踪和存储电子邮件回复?

然后,用户必须点击'回复此消息',以联系查询的形式打开我们的网站,并将消息提交给对话(使用QueryString来确定它属于哪个对话)。

但是,很多用户喜欢简单地回复发送给他们的电子邮件。

如何跟踪他们的回复并自动将其添加到同一个对话中?

目前,我们正在使用ASP.NET 3.5,IIS6 & SQL Server 2005中,但将升级到ASP.NET 4.0,IIS7 & SQL Server 2008中

感谢, 柯特

回答

3

这不是一个完整的代码解决方案(但嘿,这不是什么这个地方是什么),但这是一个大致的想法:

在您发送的消息(或简单地使用从地址)指定回复标题。然后设置一个脚本,定期读取发送到该地址的电子邮件并将它们插入到数据库中(待查看)。为了获得正确的线索,您可以在发送给您的消息中使用回复中的标题。我不知道如何找到你发送的邮件的消息ID,但你的一个小小的研究应该揭示这一点。 (如果最坏的情况出现了,你可以随时将自己的信息打包并从那里阅读,但应该有更简单的方法)。

请注意,有些人(最着名的是GMail)拒绝使用回复标题,因为人们使用电子邮件的方式(尽管我不认为这会在你描述的情况下造成很大的问题),使用主题来创建线程。这可能是一个更简单的解决方案,尽管它可能不太可靠。

+0

谢谢贾斯珀。然而,我正在努力的一件事是,如果用户回复,我的初始电子邮件位于电子邮件的底部,包括标题信息。有没有办法清理掉这些东西? – Curt 2010-09-01 15:33:26

+0

@Curt:你可以做一些模式匹配与原始消息作为模式或一些通用的引用样式。然而,长话短说,我认为这只是很多工作,可能不值得付出努力。就我个人而言,我会选择只保留这些信息,毕竟,大多数人都习惯于忽略引用的原始信息,因为他们有电子邮件的经验。 – Jasper 2010-09-02 23:19:07

+0

感谢您的回复。我同意大多数用户习惯于忽略电子邮件下方的回复,但我们将不同的电子邮件堆叠在一起(如iPhone txt对话)。因此,当重复消息载入时,它会让用户感到困惑。但是,我已将{Email-Start}放在我发出的电子邮件的顶部。然后,当我的代码读取电子邮件时,它将修剪电子邮件直到那一点。这确实会将前一封电子邮件中的发件人,收件人,主题,日期字段留在底部,但它总比没有好!谢谢! – Curt 2010-09-03 08:12:27