我有一个由 cPanel 网络主机托管的网站。
每次收到新电子邮件至 help@xxx.com 时,我都希望运行一个 PHP 脚本。我希望运行的脚本将更新 sql 数据库上的一些变量。
我知道如何使用 PHP 完成所有任务,我想弄清楚的唯一部分是如何告诉我的 Web 服务器在收到新电子邮件时运行脚本。
当前正在运行 cron 作业,并且不希望每分钟运行一次脚本,并且仅在相关时运行。
在大多数 cPanel 主机上,您可以设置转发器以在收到电子邮件时将其转发到脚本。只要您的电子邮件是在同一个 cPanel 帐户上管理的,它就可以很好地工作......
创建转发器时,您将转发到地址设置为|/home/username/path/to/script.php
然后,您需要在脚本中做的第一件事是接收来自以下地址的电子邮件stdin
:
//Receive the email from stdin ...
$fd = fopen("php://stdin","r");
$data = '';
while(!feof($fd)){
$data .= fread($fd,1024);
}
fclose($fd);
//process email data ...
我已经在许多 cPanel 主机上取得了巨大成功。