by Devin Yang

建立於: 4年前 ( 更新: 4年前 )

收信的信箱爆了,所有的信都不想要,用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如下:

openspeedtest,docker,phpenv

用phpenv跑openspeedtest

雖然我們可能會用speedtest之類網站進行上下傳的速度的測試,那如果我們想測自己的Server的速度呢?像是用戶在別的國家,連到我們的主機速度快慢 ,這時self-hosted的測試工具就很方便啦。最新版本的phpenv在services的yml檔中,加入了openspeedtest.yml囉。

laravel,trait,php

我的Browser Trait、webp圖檔支援功能檢測及是否為手機檢測

PHP trait相信很多人都不陌生,因為Laravel到處可見,但我還是寫出來分享給有緣人🙄。PHP trait可以讓兩個不同的CLASS都可以使用相同的方法。他不但能降低複雜度,更可讓程式碼重複被使用。所以放個Browser系列功能在Laravel的ViewServiceProvider上使用,應該是滿方便的😝