5

我注意到许多网站,如 Facebook 和 GitHub,允许您回复电子邮件通知,然后使用唯一的回复地址将回复发布回应用程序。这在后端如何工作?我搜索了很多,但只发现人们使用的是唯一的回复地址。这是可以理解的,但是,他们用什么来接收这些电子邮件?这些公司是否设置电子邮件服务器?我正在尝试使用 PHP 构建它。

4

3 回答 3

3

一种常见的方法是在外发电子邮件中设置唯一的消息 ID,然后查看 In-Reply-To 标头以查看这是回复的电子邮件。这使您可以将服务器应用程序的消息传递系统与电子邮件相匹配。例如,如果您发送代表 ID 为 1234 的服务台票证的电子邮件,则 Message-ID 可能类似于

票证-1234@myserver

然后,在运行良好的电子邮件客户端中(我在看你是 Android),当你点击回复时,回复的标题为 In-Reply-To:ticket-1234@mysever。您可以通过添加安全令牌来进一步确保人们无法伪造消息(例如ticket-1234-hf29e9f2gf2e9fh29f@myserver)。当您发送第一条消息时,该安全令牌会在服务器上生成,然后在回复中得到确认。

这通常有效,但当电子邮件客户端不按应有的行为行事时,可能会引起真正的头痛!

于 2013-10-24T15:42:48.817 回答
2

您必须设置一个邮件服务器来接收邮件答复。
IMAP 服务器上的 SIEVE 过滤器可用于在检测到某个过滤器时执行某些操作。

但是你不能只使用 PHP 来制作那种类型的系统。

于 2013-08-25T09:21:30.620 回答
2

就是 GitLab 通过在电子邮件地址本身中使用标识符并在用户回复时捕获它来管理电子邮件的方式。尽管它与 PHP 等任何脚本语言都无关,并且使用服务器配置,但这是后端服务器为支持通过电子邮件回复功能所做的工作。

于 2017-08-17T08:39:41.213 回答