我注意到许多像Facebook和GitHub这样的网站都允许您回复电子邮件通知,然后使用唯一的回复地址将回复发布回应用程序。这如何在后端工作?我搜索了很多,但只发现人们使用了唯一的回复地址。这是可以理解的,但他们用什么来接收这些电子邮件?这些公司会设置电子邮件服务器吗?我正在尝试使用PHP构建它。
答案 0 :(得分:2)
您必须设置邮件服务器才能接收邮件答案 当检测到某个过滤器时,IMAP服务器上的SIEVE过滤器可用于执行某些操作。
但是你不仅可以使用PHP来制作那种类型的系统。
答案 1 :(得分:2)
一种常见的方法是在外发电子邮件中设置唯一的邮件ID,然后查看In-Reply-To标头以查看此邮件的回复内容。这使您可以将服务器应用程序的消息传递系统与电子邮件进行匹配。例如,如果您发送的电子邮件代表ID为1234的服务台票证,则Message-ID可能类似于
票-1234 @ MYSERVER
然后,在运行良好(I'm looking at you Android)的电子邮件客户端中,当您点击“回复”时,回复的标题为In-Reply-To:ticket-1234 @ mysever。您可以通过添加安全令牌来进一步确保人们无法伪造消息(例如ticket-1234-hf29e9f2gf2e9fh29f @ myserver)。当您发送第一条消息时,会在服务器上生成该安全令牌,然后在回复中进行确认。
这通常有效但当电子邮件客户端表现不正常时会引起真正的麻烦!
答案 2 :(得分:2)
This是GitLab如何通过在电子邮件地址中使用标识符来管理电子邮件,并在用户回复时捕获它。虽然它与PHP之类的任何脚本语言无关,并且使用服务器配置,但后端服务器通过电子邮件功能支持回复。