by Devin Yang

建立于: 5年前 ( 更新: 5年前 )

收信的信箱爆了,所有的信都不想要,用PHP清空收件夹。
以下是我抄来的范例进程,做了小调整。
<?php
$imap_server="{www.hibox.hinet.net:993/imap/ssl}INBOX";

$mbox = imap_open($imap_server, "信箱帐号", "密码")
    or die("Can't connect: " . imap_last_error());

$check = imap_mailboxmsginfo($mbox);
echo "Messages before delete: " . $check->Nmsgs . "<br />\n";

//标记删除
imap_delete($mbox, "1:$check->Nmsgs");

$check = imap_mailboxmsginfo($mbox);
echo "Messages after  delete: " . $check->Nmsgs . "<br />\n";

imap_expunge($mbox);

$check = imap_mailboxmsginfo($mbox);
echo "Messages after expunge: " . $check->Nmsgs . "<br />\n";

imap_close($mbox);
运行后就被清的一干二净:p

不过PHP,PHP没有imap的扩展,我套过docker轻松扩展有imap的php。
我使用的是D-Laravel的Dockerfile,补上相关的包,再重build dockerfile。
一、添加包:
libc-client-dev libkrb5-dev \
二、添加config 
RUN docker-php-ext-configure imap --with-kerberos --with-imap-ssl
三、补上imap。
RUN docker-php-ext-install -j$(nproc) pdo_mysql mysqli ldap pgsql pdo_pgsql gettext sockets imap ctype xml zip pcntl bcmath intl gd \
以下附下git版控显示的差异。



 

Tags: php

Devin Yang

文章内容无法一一说明,如果您有什么不了解处,欢印提问哦:)

No Comment

Post your comment

需要登入才可留言!

类似文章


docker,phpenv

在Linux上ping不到host.docker.internal

可用docker version检查,确认版本在Docker v20.10+即可添加extra_hosts如下:

phpenv

phpenv数据库环境

本文介绍如何拉出phpenv的数据库服务,到独立环境。PHPENV可以透过环境变量,在SERVICE中定义数据库的服务,如果有需要在开发环境中,我们可以很轻易的透过./start及./restart等命令,进行服务全部重启,nginx、fpm及db 。但如果在在线模式,我并不希望重启网站,就连整个DB也重启,例如更新php版本时,并不需要重启DB。

php,docker,dlaravel

我创建的phpenv容器环境简单介绍

没时间拍介绍影片,我就来随便抓些画面介绍我使用的容器环境deviny/phpenv。https://github.com/DevinY/phpenvphpenv算是我之前D-Laravel开源项目的进化版本,概念上延用了很多Dlaravel的操作方式。容器的更新上偏向使用者自行控制去Build自己的image,所以我不太会去更动版号了,其实D-Laravel的php版号,好像我也很久没动啦:p&nbsp;