summaryrefslogtreecommitdiff
path: root/ext/imap/tests/setup/clean.inc
blob: 608d553b4ff3f993c0e6d5a93e51991b6b401571 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
require_once 'imap_include.inc';

if (!isset($mailbox_suffix)) { throw new Exception("No suffix provided"); }

$imap_stream = imap_open(IMAP_DEFAULT_MAILBOX, IMAP_MAILBOX_USERNAME, IMAP_MAILBOX_PASSWORD);

// delete all msgs in default mailbox, i.e INBOX
$check = imap_check($imap_stream);
for ($i = 1; $i <= $check->Nmsgs; $i++) {
    imap_delete($imap_stream, $i);
}


$mailboxes = imap_getmailboxes($imap_stream, IMAP_SERVER, '*');

if (!is_array($mailbox_suffix)) {
    $mailbox_suffixes = [$mailbox_suffix];
} else {
    $mailbox_suffixes = $mailbox_suffix;
}

foreach ($mailbox_suffixes as $mailbox_suffix) {
    foreach($mailboxes as $value) {
        // Only delete mailbox with our prefix (+ optional test suffix)
        if (preg_match('/\{.*?\}INBOX\.' . IMAP_MAILBOX_PHPT_PREFIX . $mailbox_suffix .'$/', $value->name, $match) == 1) {
            imap_deletemailbox($imap_stream, $value->name);
        }
    }
}

imap_close($imap_stream, CL_EXPUNGE);