0

使用 PHP,我正在制作一个类似于在线礼宾服务的应用程序。我有一个页面显示一个表单,询问用户他想让我做什么。当用户完成表单时,信息将被保存到数据库中,并且用户会收到一封电子邮件,内容是:“感谢您最近提交:(无论他刚刚提交了什么)。” 用户将(希望)每月多次提交相同的表单。

我希望用户能够使用新信息回复我的自动电子邮件,然后这些新信息会更新正确的数据库记录。

问题:如何获取新信息来更新正确的数据库记录?

例如,假设用户“John”今天提交了两次该表单。首先,他要求我为他预订 Chili's 的晚餐,然后他要求我为他预订一些飞往纽约的机票。John 将收到来自该站点的 2 封电子邮件,感谢他的请求。让我们说今天晚些时候,John 改变了主意,决定转而去 Applebees。我希望他能够回复第一封电子邮件,说明他的变化。然后,我希望将该信息附加到数据库中的正确记录中。 如何在数据库记录中的信息和电子邮件之间建立联系?

我想作为一种可能的解决方案,我可以在电子邮件的主题行中包含数据库的记录 ID 号,例如:“感谢您最近的请求 #428。” 然后我可以获取该编号 428 并更新数据库中的记录编号 428。但我认为如果用户看到这个数字突然出现,这可能会让用户感到困惑。

我正在寻找类似于使用隐藏输入的东西,就像您可以在表单中执行的操作和处理 POST 数据一样。

顺便说一句:我正在使用 CakePHP 2.1.x 并正在使用 IMAP 下载我的电子邮件。但答案可能不是 CakePHP 特有的。

有什么建议么?谢谢!

4

1 回答 1

1

这是通常的做法。它通常与唯一的回复和发件人地址结合使用,以增加更多安全性并可以跟踪退回邮件。

这很安全(为什么有人会更改主题行?)但是您仍然应该确保只有正确的发件人地址才能进行修改,否则恶意用户可以更改号码并将内容发布到他们喜欢的任何票证上。

这对用户来说很容易。我要改变的是主题的措辞,原因有两个:

  1. 请求编号是一个技术编号,不应成为句子的一部分(在我看来)。
  2. 如果您能够创建一个更有说服力的主题行,以便用户可以看到两封邮件中的哪一封是针对哪种类型的服务,那么用户将更容易找到并回复正确的两封邮件。即使它只是一个非常通用的类别名称来区分它们,它也可能对许多用户有用。

考虑到这一点,一个很好的主题行可能是:

晚餐预订请求 - 自动确认 (#428)

于 2012-06-20T04:23:17.627 回答