我正在研究基于到达 Gmail 的新 IMAP 电子邮件触发 PHP 脚本的应用程序。了解 Gmail IMAP 帐户收到新电子邮件的最佳方式是什么?除了配置一个cron作业,我想不出什么。我在 Linux (Ubuntu) 机器上运行 PHP + Nginx。
最佳答案
我发现这正是移动公司开发人员验证其客户 gmail 的方式。
好了,开始正常连接,然后:
$t1=time();//mark time in
$tt=$t1+(60*1);//total time = t1 + n seconds
do{
if(isset($t2)) unset($t2);//clean it at every loop cicle
$t2=time();//mark time
if(imap_num_msg($imap)!=0){//if there is any message (in the inbox)
$mc=imap_check($imap);//messages check
//var_dump($mc); die;//vardump it to see all the data it is possible to get with imap_check() and them customize it for yourself
}else echo 'No new messagens';
sleep(rand(7,13));//Give Google server a breack
if(!@imap_ping($imap)){//if the connection is not up
//start the imap connection the normal way like you did at first
}
}while($tt>$t2);//if the total time was not achivied yet, get back to the beginning of the loop
就是这样。
顺便说一下,这里有一些关于 IMAP 如何工作的好信息。我的观点是:由于 IMAP 可以维持几乎一种“实时同步”连接,如果您不想配置 MTA 来接收电子邮件(像我一样),那么 IMAP 是获取“电子邮件推送”的真正选择“给你。
关于php - 通过 PHP 检查 Gmail IMAP 以获取循环中的新邮件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4908209/