对于堆栈溢出的回答来说,这是一个太大的主题。
一些起点:
-
您需要一个可通过访问的邮箱
IMAP
或
POP3
。(SMTP用于出站邮件。您可以实现SMTP
服务器
处理传入的消息,但正确地做到这一点是一项非常艰巨的编程和网络工程工作,不值得麻烦。)
编辑
您需要在某个电子邮件服务器上创建该邮箱;哪一个并不重要。您可以使用gmail或outlook或您自己域的电子邮件。你可以
myappinbox@code-8.com
(如果
code-8.com
是您的域名obv)或
someRandomThingOrOther@gmail.com
。然后,您将软件设置为与服务的IMAP或POP3服务进行通信。如果是商业服务,您可以要求他们提供IMAP或POP3连接的详细信息。(这是正常的事情;他们可能有一个帮助页面。)
一个可能对你有帮助的小技巧。如果邮箱是
inbox@code-8.com
您可以将消息发送到
inbox+tag@code-8.com
和
inbox+anotherTag@code-8.com
,在
+
,并且它们都转到同一个邮箱。因此,只需告诉不同的发件人将邮件发送到带有不同标签的邮箱,就可以设置传入邮件的类别。
-
您需要一个php程序,它会每隔一段时间轮询(访问)该邮箱以查找新邮件。按照接收电子邮件的工作方式,您需要从邮箱中提取电子邮件。
-
php程序应该使用
php IMAP / POP3 APIs
.API称为IMAP,但它处理两种协议。
-
它将使用这些API来获取和解码消息。
-
然后,您可以编写php代码来解析消息中所需的格式,并按照您想要的方式进行处理。
还有一些免费的开源Laravel软件包,
like this one
,来完成此任务。最好使用其中一个。准确地获取IMAP或POP3代码是很棘手的,尤其是在处理完传入邮件后删除它们的领域。如果你自己做,你将承担一个混乱的测试负担。(有时问我是怎么知道的。)