Weave Code
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.
craftcms/url-validator
directorytree/privacy-filter-classifier
directorytree/privacy-filter
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin
splash/metadata
splash/openapi
splash/scopes
splash/toolkit
testo/output-teamcity
testo/bridge-symfony