This IMAP Library for PHP provides an intuitive and easy-to-use interface to interact with POP3, IMAP and NNTP mail servers. It allows for operations such as connecting to mailboxes, fetching messages, handling message parts, and managing email content.
- Connect to IMAP servers with ease
 - Fetch and manage email messages
 - Handle different parts of an email such as attachments and text
 - Decode email content and headers
 - Supports message deletion and structure analysis
 
To install the library, you can use Composer. Run the following command in your project directory:
composer require dg/imapIt requires PHP version 8.1 with extension imap.
To connect to an IMAP mailbox, create an instance of the Mailbox class.
use DG\Imap\Mailbox;
$mailbox = new Mailbox(
	'{imap.gmail.com:993/imap/ssl}',
	'your_username@gmai.com',
	'your_password',
);
$mailbox->connect();Fetch all messages from the mailbox:
$messages = $mailbox->getMessages();
foreach ($messages as $message) {
	echo $message->getSubject() . "\n";
}To handle different parts of a message, such as attachments:
foreach ($messages as $message) {
	$parts = $message->getParts();
	foreach ($parts as $part) {
		// Process each part
	}
}Certainly, here's the additional information regarding error handling through exceptions:
In case of any issue, such as a failure to connect to the IMAP server, fetch messages, or process message parts, the library will throw an DG\Imap\Exception:
try {
    $mailbox->connect();
    $messages = $mailbox->getMessages();
    // ... additional operations
} catch (DG\Imap\Exception $e) {
    echo 'Error: ' . $e->getMessage();
}Do you like this project?