在收到电子邮件时调用php脚本?

在收到电子邮件时调用php脚本?,php,email,mail-server,Php,Email,Mail Server,我想要的是一种服务(最好不要安装在服务器上,比如只让第三方处理电子邮件,但如果需要专用服务器,我会试一试),它允许发送到我的站点的任何电子邮件作为HTTP请求重定向到我指定的php脚本 例如,像这样的电子邮件 To: chris@example.com From: anotherplace@another.site.example.org Subject: hello! Message: Hey man whats up? 将向发出http请求 http://example.com/notif

我想要的是一种服务(最好不要安装在服务器上,比如只让第三方处理电子邮件,但如果需要专用服务器,我会试一试),它允许发送到我的站点的任何电子邮件作为HTTP请求重定向到我指定的php脚本

例如,像这样的电子邮件

To: chris@example.com
From: anotherplace@another.site.example.org
Subject: hello!
Message: Hey man whats up?
将向发出http请求

http://example.com/notify.php
使用一些POST数据:

to=chris@example.com&from=anotherplace@another.site.example.org&subject=hello!&message=Hey man whats up?

我希望避免每分钟都进行轮询,因为我相信这会对服务器造成很大的消耗。是否有任何现有的邮件服务器或服务具有此类功能?我的另一个计划是实现我自己的邮件服务器,但为了支持这一点,这似乎是一个巨大的项目。

在MTA中设置管道别名:

autoprog:      |myscript.php

此时,您可以让脚本解析电子邮件,并打开一个URL,将其正确编码到查询字符串中。或者它可以直接处理电子邮件。

每分钟轮询一个邮件服务器以检查收件箱不应该是系统的主要消耗。大多数电子邮件客户端正是这样做的。如果电子邮件服务器是IMAP、POP3或NNTP,并且希望使用PHP查询收到的邮件,则可以使用for PHP进行轮询

我看到的问题是,它必须检查每个帐户的电子邮件(我网站的每个成员都有一封),这可能无法很好地扩展。它必须一直这样做,而不仅仅是在用户登录时,因为它根据我看到的电子邮件内容执行某些操作。我不知道你要检查多个框。在这种情况下,我将使用Ignacio的邮件传输代理回答。在启用SSH访问的共享托管环境中,这可能吗?主机通常会更改服务器上的配置以启用功能,因此即使必须在全局级别更改某些内容,在每个用户/域的基础上实现是否容易?例如,只为*@example.com而不是*@example.info重定向电子邮件只要您可以设置别名,而不仅仅是virtuser,您就可以做到这一点。只需使用一些难以猜测的名称或类似的内容创建别名,然后设置Virtuser,根据需要将邮件转发到别名。