conjoon / lumen-app-email
A backend service for IMAP/SMTP email messaging.
Installs: 186
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 2
Forks: 2
Open Issues: 16
Type:project
Requires
- php: ^8.1
- conjoon/php-lib-conjoon: 1.1.2
- fruitcake/laravel-cors: ^2.0
- laravel/lumen-framework: ^8.0
Requires (Dev)
- fakerphp/faker: ^1.9.1
- mockery/mockery: ^1.3.1
- phpunit/phpunit: ^9.3
- squizlabs/php_codesniffer: *
This package is auto-updated.
Last update: 2024-11-06 20:33:45 UTC
README
Backend service for IMAP/SMTP email messaging.
What is lumen-app-email?
conjoon/lumen-app-email is a standalone PHP🐘 application built with Lumen. It provides a backend for Email messaging according to https://github.com/conjoon/rest-api-description and serves endpoints for reading, writing and sending email messages with IMAP/SMTP.
lumen-app-email has minimal footprint and is easy to install.
Installation
$ composer create-project conjoon/lumen-app-email htdocs "1.*"
Please refer to the official documentation of lumen-app-email for further information on installation and configuration.
Features
lumen-app-email follows a service oriented approach. Services are easily replaceable with the help of upfront DI configurations and related bindings.
Use lumen-app-email, if you...
- need a fully functional middleware for communicating with IMAP / SMTP servers
- want to provide webmail solutions with various authentication methods, such as
- domain-specific sign-in to IMAP accounts, orchestrated by the server
- connecting to IMAP accounts solely configured by the users
- are looking for an email messaging solution with minimal footprint that's easy to distribute
- require a headless, service oriented standalone application in your infrastructure that can also be run frontend agnostic
API Examples
# Return a list of available MailAccounts for the requesting client GET /MailAccounts HTTP/1.1 Content-Type: application/json Authorization: Basic Y29uam9vbjpIZWxsb1dvcmxk Host: hostname # Return the envelope data of the first 50 MessageItems w/o previewText of the INBOX mailbox # for the MailAccount identified by "gmail" GET /MailAccounts/gmail/MailFolders/INBOX/MessageItems?start=0&limit=50&attributes=*,previewText HTTP/1.1 Content-Type: application/json Authorization: Basic Y29uam9vbjpIZWxsb1dvcmxk Host: hostname # Return the email identified with the uid 4356 of the INBOX mailbox for the MailAccount identified by "gmail" GET /MailAccounts/gmail/MailFolders/INBOX/MessageItems/4356 HTTP/1.1 Content-Type: application/json Authorization: Basic Y29uam9vbjpIZWxsb1dvcmxk Host: hostname
Backend API documentation
For the list of endpoints this service provides, please refer to the
OpenApi-documentation of rest-api-email
, available as OpenAPI documentation at conjoon.stoplight.io
Additional Notes
Official Documentation
The official documentation can be found at the project page for conjoon. This documentation is in line with the offical project page.
WIP
lumen-app-email is a work in progress. We are constantly improving the API and strive for a RESTful implementation. You can follow us on Github for updates related to this and other related projects.
Composer 2.0 - Pear/Horde vows
As of v1.0.1, php-lib-conjoon no longer requires Composer 1.* for installation. For Composer 2.*-compatibility, php-lib-conjoon relies on the following private composer package repository:
https://horde-satis.maintaina.com
This repository is mentioned in THIS package's composer.json This repository is also mentioned in the composer.json-file of horde/horde_deployment.