Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Mailbox Connection Bundle Laravel Package

digitalshift/mailbox-connection-bundle

View on GitHub
Deep Wiki
Context7

DigitalshiftMailboxConnectionBundle

  • encapsulates IMAP/POP3/… connections
  • provides abstraction layer for MimeMessages / Mailbox-Folders
  • depends on PECL/mailparse Library

Supported Mailbox Connections / Protocols

  • IMAP (ImapConnector)
  • POP3 (Pop3Connector) - not yet implemented

Abstraction-Layer

Mailbox - Folder

  • access to mailbox folders, including their intire messages and subfolders (self-referencing)
  • see Entity/Folder.php for complete fieldlist

MimeMessage

  • access to mails, including raw content (mime-parts) & headers
  • see Entity/MimeMessage.php for complete fieldlist

Installation / Configuration

Basic Usage

The main access point is the digitalshift_mailbox_client.connector-service. It encapsulates your mailbox-connection and internally uses factories to build Folder- and MimeMessage-instances by the recieved mailbox data. In your controller (for example), you can do things like that:

class DefaultController extends Controller
{
    ...

    public function indexAction()
    {
        /** @var ImapConnector $imapConnector */
        $imapConnector = $this->get('digitalshift_mailbox_client.connector');

        $folder = $imapConnector->getFolder();
        // OR
        $folder = $imapConnector->getFolder('INBOX');
        
        $message = $imapConnector->getMessage(1);
        // OR
        $message = $imapConnector->getMessage(1, 'INBOX');

        // Folder
        $folder->getName();
        $folder->getPath();
        $folder->getMessages();
        $folder->getFolders();

        // Message
        $message->getHeader();
        $message->getContent();
        $message->getSubject();
        $message->getHtmlContent();
        $message->getPlainContent();

        return $this->render(
            'DigitalshiftMailerBundle:Default:index.html.twig',
            array(
                'message' => $message,
                'folder' => $folder
            )
        );
    }
    
    ...

}
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
steadrun/laravel-monitor
labyrinthe/connect-laravel
elmogy/layan
drewdan/sentinel-client
dskripchenko/laravel-llm
fatryst/nuonuo
stevenay/myanfont
gmostafa/php-graphql-client
xeviant/paystack
snowsoft/faker
meditationsteps/blogetc
animalyoung/laravel-influxdb
onix-solutions/sms-telera
lonely-lights/prosetta
oxygen/data
oxygen/core
jengo/base
xiloryx/log-collector
a21ns1g4ts/filament-stripe
la-php/laravel-admin