GitHub“通过电子邮件回复”是如何工作的?

Nag*_*Nag 6 php email

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

Bra*_*bie 5

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

票证-1234@myserver

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

这通常有效,但当电子邮件客户端不按其应有的方式行事时,可能会引起真正的麻烦!


net*_*n73 2

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

但你不能只使用 PHP 来构建这种类型的系统。