-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.php
52 lines (40 loc) · 1.18 KB
/
index.php
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
require 'vendor/autoload.php';
use Webklex\PHPIMAP\{ClientManager, Folder, Message};
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();
$cm = new ClientManager();
$client = $cm->make([
'host' => $_ENV['HOST'],
'port' => $_ENV['PORT'],
'username' => $_ENV['USERNAME'],
'password' => $_ENV['PASSWORD'],
'protocol' => 'imap',
'encryption' => 'ssl',
]);
$client->connect();
// dd($client->isConnected(), $client->checkConnection());
$folders = $client->getFolders($hierarchical = true);
/** @var Folder $folder */
/** @var Folder $f */
foreach ($folders as $folder) {
folder($folder);
if ($folder->hasChildren()) {
foreach ($folder->children as $f) {
folder($f);
}
}
}
function folder (Folder $f) {
echo "- $f->name\n";
// echo '-- ' . json_encode($f->examine()) . "\n";
// $overview = $f->overview($sequence = "1:*");
// $overview and dd($overview);
// $query = $f->query();
$messages = $f->query()->all()->get();
/** @var Message $message */
foreach ($messages as $message) {
echo "--- Subject: $message->subject\n";
echo "--- From: $message->from\n\n";
}
};