为什么程序在下载所有电子邮件后无法停止?
我的gmail中有2465封电子邮件,为什么程序在下载所有电子邮件后无法停止?所有 code1 和 code2 都在命令行模式下运行。
代码 1:
<?php
$mailbox = array(
'mailbox' => '{imap.gmail.com:993/imap/ssl}INBOX',
'username' => 'xxxx@gmail.com',
'password' => 'yyyy'
);
$stream = imap_open($mailbox['mailbox'], $mailbox['username'], $mailbox['password'])
or die('Cannot connect to mailbox: ' . imap_last_error());
$emails = imap_search($stream,"ALL");
$nums=imap_num_msg($stream);
echo $nums;
foreach($emails as $email_id) {
$mime = imap_fetchbody($stream, $email_id, "");
file_put_contents("/tmp/" . "email_{$email_id}.eml", $mime);
}
imap_close($stream);
echo "over";
?>
对于代码1 :
1.可以下载所有的电子邮件。
2.控制台
上的输出 2465 3.no 控制台上的输出。
4.程序无法停止,它似乎永远运行。over
代码 2:
<?php
$mailbox = array(
'mailbox' => '{imap.gmail.com:993/imap/ssl}INBOX',
'username' => 'xxxx@gmail.com',
'password' => 'yyyy'
);
$stream = imap_open($mailbox['mailbox'], $mailbox['username'], $mailbox['password'])
or die('Cannot connect to mailbox: ' . imap_last_error());
$emails = imap_search($stream,"ALL");
$nums=imap_num_msg($stream);
echo $nums;
foreach($emails as $email_id) {
echo $email_id.PHP_EOL;
$mime = imap_fetchbody($stream, $email_id, "");
file_put_contents("/tmp/" . "email_{$email_id}.eml", $mime);
}
imap_close($stream);
echo "over";
?>
对于 code2:
1.可以下载所有电子邮件。
2.在控制台上输出2465。
3.在控制台上输出。
4.程序停止后下载所有电子邮件。over
code2 中有一行比 code1 多,其他代码是相同的。
所有 code1 和 code2 都在命令行模式下运行。
谁能解释它?echo $email_id.PHP_EOL;