1

我正在使用 PHP 构建电子邮件管理软件。我有点坚持某些事情,并认为 SO 可能会提供一些见解。用户检索消息。消息得到回复。我在想我可以为传入的消息创建某种自定义散列,将数据和散列存储在数据库中,然后对于回复,将自定义散列注入消息标头以表示正在发送的此消息是其中的一部分特定的传入消息。

  • 我回复了一条消息,然后用户重新回复后,注入的自定义哈希会在消息中吗?如果不是,它将被视为新的传入消息。
  • 我应该考虑将自定义散列注入消息吗?这甚至可能吗?这是一个好方法吗?

这是一个很好的理论吗?有什么建议或意见吗?我真的没有这方面的经验,我只是想找出最好的实施方法。

** 注意:如果有任何我可以逆向工程的开源 PHP 电子邮件管理软件,那也是我感兴趣的东西。

4

1 回答 1

2

将自定义标头注入消息是可能的,但它们很少包含在回复中。有时,客户端会包含一个 In-Reply-To 标头,该标头引用原始消息 ID,您可以使用它。

但是,最简单和最常用的方法是使用自定义的发件人地址。如果您从那里发送电子邮件,message-12345@yourdomain.com那么任何退回或回复都将返回到该电子邮件地址。如果下一条消息使用message-12346@yourdomain.com,那么您可以轻松判断哪个回复是针对哪个原始消息。

接收电子邮件时有几个选项:

  1. 使用 POP3 或 IMAP 轮询
  2. 让邮件服务器在收到消息时初始化脚本
  3. 使用从 SMTP 转换电子邮件并将其作为 HTTP 转发的系统

我写了一篇博客文章,概述了接收消息的方法,它适用于 Ruby,但同样的原则都适用。不幸的是,我不知道任何用于此的 PHP 软件。

于 2013-03-26T10:10:14.423 回答