Ich hatte das gleiche Problem und fand heute eine gute funktionierende Lösung.
Es basiert auf einer procmail-Einstellung, die ich gefunden habe. Es verschlüsselt ursprünglich eingehende E-Mails anstelle von bereits vorhandenen E-Mails, die sich bereits in Ihrem Posteingang befinden:
https://www.j3e.de/pgp-mime-encrypt-in-procmail.html (Danke für dieses Björn)
Ich habe es so geändert, dass es als Skript mit vorhandenen Postfachdateien anstelle von procmail (eingehenden Dateien) arbeitet.
Diese Befehle sind klein, einfach und verwenden ein Standardwerkzeug 'formail', um Header und Körper sauber zu behandeln.
Zuerst müssen Sie die beiden .gpg-mime-start- und .gpg-mime-end-Dateien erstellen, wie in der URL mit procmail beschrieben. Und Sie müssen Ihre Befehlszeile gpg wie üblich mit Ihren Schlüsseln einrichten.
Dies ist die .gpg-mime-start-Datei:
--MfFXiAuoTsnnDAfX
Content-Type: application/pgp-encrypted
Content-Disposition: attachment
Version: 1
--MfFXiAuoTsnnDAfX
Content-Type: application/octet-stream
Content-Disposition: inline; filename="msg.asc"
Am Ende muss eine leere Zeile stehen!
Dies ist die .gpg-mime-end-Datei:
--MfFXiAuoTsnnDAfX
Am Anfang muss eine leere Zeile stehen!
Hier ist das modifizierte Skript (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 <you@yourmail.com>' ; cat ~/.gpg-mime-end; }
Ersetzen...
Firstname Lastname <you@yourmail.com>
... im Skript mit Ihrer gpg-Schlüsseladresse (oder verwenden Sie "-r Signatur ..").
Legen Sie die Berechtigungen des Skripts mit chmod a + x gpgmailfile.sh fest
Sie können das Skript beispielsweise für eine einzelne E-Mail aus dem Haupt-E-Mail-Ordner in den Unterordner "enc" ausführen (erstellen Sie zunächst den Ordner "enc" in Ihrem E-Mail-Client):
./gpgmailfile.sh /home/user/Maildir/cur/"file123" > /home/user/Maildir/.enc/cur/"file123"
Wenn Sie alle E-Mails im Hauptordner verschlüsseln möchten, verwenden Sie dieses zusätzliche Skript (ändern Sie den Pfad zum ersten Skript, falls nicht unter / 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
Ändern Sie es, um mit anderen Ordnern zu arbeiten.