Cyber Coding Course

師其意,不泥其跡

用PHP透過IMAP清空HiBox的收件夾

收信的信箱爆了,所有的信都不想要,用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版控顯示的差異。



 

作者: Devin Yang