dev-master
9999999-devReads and parses e-mail from an IMAP/POP3 source
MIT
The Requires
- ext-imap *
The Development Requires
by Rudie Dirkx
Wallogit.com
2017 © Pedro Peláez
Reads and parses e-mail from an IMAP/POP3 source
Reads e-mails on an IMAP server., (*2)
Uses PHP's built in IMAP module., (*3)
Init connection & find messages:, (*4)
$mbox = new rdx\imap\IMAPMailbox('example.com', 'user', 'password', 'INBOX', ['ssl', 'tls']);
$messages = $mbox->messages([
'newestFirst' => true, // bool
'seen' => false, // null|bool
'limit' => 10, // int
'offset' => 0, // int
]);
See a message's structure:, (*5)
foreach ($messages as $message) {
echo $message->simpleStructure() . "\n\n";
// Could be something complex like:
// 1. PLAIN (517)
// 2. DELIVERY-STATUS (315)
// 3. *RFC822 (2446)
// 3.1. PLAIN (610)
// 3.2. HTML (744)
// Or something simple like:
// 1. PLAIN (123)
// 2. JPEG (76543)
}
Find all HTML parts, including attachments, forwards etc:, (*6)
foreach ($messages as $message) {
$htmls = $message->html(true); // true for recursive, false for only top level parts
}
Read bounce mail to find rejected addresses:, (*7)
foreach ($messages as $message) {
$body = $message->subtypeContent('DELIVERY-STATUS');
if ($body && strpos($body, 'failed') !== false) {
// Extract address and do something
}
}
Find ALL image attachments:, (*8)
foreach ($messages as $message) {
$attachments = $message->subtypeParts(['JPEG', 'PNG', 'GIF'], true); // true = recursive
foreach ($attachments as $att) {
$att->saveAttachment('/some/folder');
}
}
Reads and parses e-mail from an IMAP/POP3 source
MIT