Description

Emails can be signed an encrypted using the S/MIME1 standard.

Syntax

Signing

use Symfony\Component\Mime\Crypto\SMimeSigner;
use Symfony\Component\Mime\Email;
 
$email = (new Email())->from('...')->to('...')->html('...');
 
$signer = new SMimeSigner('/path/to/certificate.crt', '/path/to/certificate-private-key.key');
$signedEmail = $signer->sign($email);
// now use the Mailer to send this $signedEmail instead of the original $email
 

Encrypting

use Symfony\Component\Mime\Crypto\SMimeEncrypter;
use Symfony\Component\Mime\Email;
 
$email = (new Email())->from('...')->to('...')->html('...');
 
$encrypter = new SMimeEncrypter('/path/to/certificate.crt');
$encryptedEmail = $encrypter->encrypt($email);
// now use the Mailer to send this $encryptedEmail instead of the original $email

Footnotes

Footnotes

  1. https://en.wikipedia.org/wiki/S/MIME