This library extends the somewhat ubiqitious SwiftMailer package by providing a class to fit the Message Signer API to implement PGP encryption and optionally signing.
One must have a keyring set up and accessible, as per the requirements of the Crypt_GPG library.
This means that PHP must also have permission to shell out commands via proc_open
$encryptionKeyID = 'recipient@example.test';
$signer = new \Nightjar\SwiftSignerCryptGPG($encryptionKeyID);
/** @var Swift_Message $swiftMessage */
$swiftMessage->attachSigner($signer);
Upon sending the message it will be encrypted as per PGP/MIME (RFC 3156)
Currently encryption is mandatory, signing is optional. This should change to provide a signing only option in the future.