zbateson / mmp-crypt
Cryptographic support for zbateson/mail-mime-parser (encryption, decryption, signing, verification)
Installs: 0
Dependents: 2
Suggesters: 0
Security: 0
Stars: 1
Watchers: 0
Forks: 0
Open Issues: 1
pkg:composer/zbateson/mmp-crypt
Requires
- php: >=8.1
- guzzlehttp/psr7: ^2.0
- psr/http-message: ^2.0
- zbateson/mail-mime-parser: ^4.0
Requires (Dev)
- phpunit/phpunit: ^10.0 || ^11.0
This package is auto-updated.
Last update: 2026-02-13 18:51:21 UTC
README
Cryptographic support for zbateson/mail-mime-parser -- provides base classes and interfaces for encryption, decryption, signing, and verification of MIME email messages.
composer require zbateson/mmp-crypt
Sponsors
A huge thank you to all my sponsors. <3
If this project's helped you, please consider sponsoring me.
Requirements
PHP 8.1 or newer, and zbateson/mail-mime-parser 4.x.
Description
This is the base package for mail-mime-parser's cryptographic plugin system. It provides:
IMimeCrypt-- interface for encryption/decryption/signing/verification implementationsAbstractMimeCrypt-- base class implementingIMimeCryptwith stream handlingEncryptedMessage/EncryptedMimePart-- message/part classes that transparently expose decrypted content viagetStream(), withgetEncryptedStream()for accessing the original encrypted data
On its own, this package doesn't perform any cryptographic operations. Install an implementation package:
- zbateson/mmp-crypt-smime -- S/MIME via PHP's OpenSSL extension
- zbateson/mmp-crypt-gpg -- PGP/MIME via the PECL gnupg extension
Usage
use ZBateson\MailMimeParser\Message; // Parsing an encrypted message automatically uses the registered // IMimeCrypt implementation to decrypt it. $message = Message::from($rawEmail, false); // If the message was encrypted, it will be an EncryptedMessage instance. // getStream() / getTextContent() / etc. return decrypted content by default. echo $message->getTextContent(); // Access the original encrypted stream if needed if ($message instanceof \ZBateson\MmpCrypt\EncryptedMessage) { $encryptedStream = $message->getEncryptedStream(); }
License
BSD licensed - please see license agreement.