PHP+;邮件服务器
我有一个用cPanel主机托管的网站 我期待有一个PHP脚本运行每次我得到一个新的电子邮件到help@xxx.com. 我希望运行的脚本将更新sql数据库上的一些变量 我知道如何用PHP完成所有任务,我想弄清楚的唯一一个部分是如何告诉我的web服务器在收到新电子邮件时运行脚本PHP+;邮件服务器,php,email,Php,Email,我有一个用cPanel主机托管的网站 我期待有一个PHP脚本运行每次我得到一个新的电子邮件到help@xxx.com. 我希望运行的脚本将更新sql数据库上的一些变量 我知道如何用PHP完成所有任务,我想弄清楚的唯一一个部分是如何告诉我的web服务器在收到新电子邮件时运行脚本 当前正在运行cron作业,并且希望不要每分钟运行一次脚本,并且只有在相关时才运行。在大多数cPanel主机上,您可以设置转发器,以便在收到电子邮件时将其转发到脚本。只要你的电子邮件是在同一个cPanel帐户上管理的,它就会
当前正在运行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主机上成功地完成了这项工作。如果您有权访问MTA(邮件传输代理)配置,您可以设置一个脚本,在新邮件到达时触发该脚本。如何做到这一点取决于您的MTA
此外,您还可以使用或文件,并将其中任何一个设置为在接收到所需地址的电子邮件时执行脚本。您可以将邮件服务配置为在每次邮件到达时运行脚本。具体取决于您正在运行的程序(例如postfix、procmail等)