
Tengo más de 12000 mensajes de correo electrónico en mi BAJA DE ENTRADA que están todos en texto sin formato, algunos de esos mensajes de correo electrónico tienen archivos adjuntos. He estado buscando durante semanas una forma de cifrar esos mensajes de correo electrónico desde texto sin formato hasta mensajes cifrados.
No sugiera el cifrado PGP para los correos salientes, ya que sé perfectamente cómo cifrar nuevos mensajes compuestos. Me refiero a los correos electrónicos existentes que se almacenan en la bandeja de entrada durante años en texto sin formato.
Estoy buscando una forma que me permita cifrarlos de forma masiva. Descargué todos mis mensajes y los exporté al formato EML, y puedo convertirlos a cualquier formato que me ayude a cifrar esos mensajes.
Buscando cifrar solo el cuerpo del mensaje y no el asunto.
Gracias
Respuesta1
Tuve el mismo problema y encontré una buena solución hoy.
Se basa en una configuración de procmail que encontré. Originalmente cifra el correo entrante en lugar de los correos existentes que ya están en su bandeja de entrada:
https://www.j3e.de/pgp-mime-encrypt-in-procmail.html(Gracias por esto Bjoern)
Lo modifiqué para que funcione como un script con archivos de buzón existentes en lugar de procmail (archivos entrantes).
Estos comandos son pequeños, simples y utilizan una herramienta estándar 'formail' para manejar los encabezados y el cuerpo de manera limpia.
Primero debe crear los dos archivos .gpg-mime-start y .gpg-mime-end como se describe en la URL con procmail. Y tienes que configurar tu línea de comando gpg con tus claves como de costumbre.
Este es el archivo .gpg-mime-start:
--MfFXiAuoTsnnDAfX
Content-Type: application/pgp-encrypted
Content-Disposition: attachment
Version: 1
--MfFXiAuoTsnnDAfX
Content-Type: application/octet-stream
Content-Disposition: inline; filename="msg.asc"
¡Tiene que haber una línea vacía al final!
Este es el archivo .gpg-mime-end:
--MfFXiAuoTsnnDAfX
¡Tiene que haber una línea vacía al principio!
Aquí está el script modificado (gpgmailfile.sh):
#!/bin/sh
MYHDRS=`cat $1 | formail -XContent-Type: -XContent-disposition: -XContent-transfer-encoding:`
cat $1 | formail -X "" | formail -I 'Content-Type: multipart/encrypted; protocol="application/pgp-encrypted";boundary="MfFXiAuoTsnnDAfX"' -I Content-transfer-encoding: -I Content-disposition:
{ cat ~/.gpg-mime-start ; { echo "$MYHDRS" ; echo ; cat $1 | formail -I "" ; } | gpg --batch --quiet --always-trust -a -e -R 'Firstname Lastname <[email protected]>' ; cat ~/.gpg-mime-end; }
Reemplazar...
Firstname Lastname <[email protected]>
...en el script con su dirección de clave gpg (o use "-r firma...").
Establezca los permisos del script con chmod a+x gpgmailfile.sh
Por ejemplo, puede ejecutar el script para un solo correo desde la carpeta de correo principal a la subcarpeta "enc" (primero cree la carpeta "enc" en su cliente de correo electrónico):
./gpgmailfile.sh /home/user/Maildir/cur/"file123" > /home/user/Maildir/.enc/cur/"file123"
Si desea cifrar todos los correos en la carpeta principal, use este script adicional (cambie la ruta al primer script si no está en /root/):
#!/bin/sh
FILES=/home/user/Maildir/cur/
cd $FILES
for f in *
do
echo "Processing $f ..."
/root/gpgmailfile.sh /home/user/Maildir/cur/"$f" > /home/user/Maildir/.enc/cur/"$f"
done
Modifíquelo para que funcione con otras carpetas.