cross-posted from: https://lemmy.world/post/48266338
I am learning how to use Symfony Mailer and am a bit lost on the encrypting message section.
This is my simple code below which works in sending the email.
<?php require 'vendor/autoload.php'; const FROM = 'me@example.com'; const TO = 'example@email.com'; const SUBJECT = 'My Subject'; const MESSAGE = 'Hello World'; const DSN = 'smtp://localhost:1025'; $transport = \Symfony\Component\Mailer\Transport::fromDsn(DSN); $mailer = new \Symfony\Component\Mailer\Mailer($transport); $email = (new \Symfony\Component\Mime\Email()) ->from(FROM) ->to(TO) ->subject(SUBJECT) ->text(MESSAGE); $encrypter = new \Symfony\Component\Mime\Crypto\SMimeEncrypter('my-certificate.crt'); $encryptedEmail = $encrypter->encrypt($email); try { $mailer->send($encryptedEmail); } catch (\Symfony\Component\Mailer\Exception\TransportExceptionInterface $error) { echo 'Unable to send email' . PHP_EOL; }And this is how I generated the certificate and key…
openssl genrsa -aes256 -out my-certificate.key 4096 openssl req -new -x509 -days 29220 -key my-certificate.key -out my-certificate.crtI am able to receive the email using SMTP tools like Mailpit.
My two questions are…
- My emails are encrypted using the certificate, but shouldn’t it be done using PGP?
- How do I decrypt the email with SMTP testing tool or any online or CLI tool? I tried to decrypt the email and could not decrypt it even though I have all of the keys.
You must log in or # to comment.
I’ve never used Symfony Mailer however:
- PGP is a program that encrypts things. Under the hood it can use asymmetric keys just like the example code shows.
- Typically you’d use the public key of the person you are sending the email to so that they can use their private key to decrypt it. I’d guess you’d need to look at the docs for the SMTP tool you’re using and see if it can be given the private key


