Signer for Swift Mailer - using PEAR's Crypt_GPG library for OpenPGP encryption or signing (or both) of outgoing emails.

1.0.0 2019-11-25 06:05 UTC

This package is not auto-updated.

Last update: 2021-01-15 07:20:24 UTC


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 */

Upon sending the message it will be encrypted as per PGP/MIME (RFC 3156)

Limitations and future development

Currently encryption is mandatory, signing is optional. This should change to provide a signing only option in the future.