1

В моем почтовом ящике более 12000 сообщений электронной почты, все в текстовом виде, некоторые из этих сообщений имеют вложения. Я неделями искал способ зашифровать эти сообщения электронной почты от простого текста до зашифрованных сообщений.

Пожалуйста, не предлагайте шифрование PGP для исходящей почты, так как я полностью знаю, как зашифровать новые составленные сообщения. Я говорю здесь о существующих электронных письмах, которые годами хранятся в папке входящих сообщений в виде простого текста.

Я ищу способ, который позволил бы мне зашифровать их навалом. Я загрузил все свои сообщения и экспортировал их в формат EML, и я могу преобразовать их в любой формат, который поможет мне зашифровать эти сообщения.

Нужно зашифровать только тело сообщения, а не тему.

Спасибо

1 ответ1

0

У меня была такая же проблема, и я нашел хорошее рабочее решение сегодня.

Он основан на настройке procmail, которую я нашел. Первоначально он шифрует входящую почту вместо существующих писем, которые уже находятся в вашем почтовом ящике:

https://www.j3e.de/pgp-mime-encrypt-in-procmail.html (спасибо за это Бьорн)

Я изменил его, чтобы он работал как скрипт с существующими файлами почтовых ящиков вместо procmail (входящие файлы).

Эти команды небольшие, простые и используют стандартный инструмент formail для чистой обработки заголовков и тела.

Сначала вы должны создать два файла .gpg-mime-start и .gpg-mime-end, как описано в URL с помощью procmail! И вы должны настроить вашу командную строку gpg с вашими ключами, как обычно.

Это файл .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"

В конце должна быть пустая строка!

Это файл .gpg-mime-end:

--MfFXiAuoTsnnDAfX

В начале должна быть пустая строка!

Вот модифицированный скрипт (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; }

Заменить ...

Firstname Lastname <you@yourmail.com>

... в скрипте с вашим адресом ключа gpg (или используйте "-r подпись ..").

Установите права доступа для скрипта с помощью chmod a+x gpgmailfile.sh

Например, вы можете запустить скрипт для одной почты из основной почтовой папки в подпапку "enc" (сначала создайте папку "enc" в вашем почтовом клиенте):

./gpgmailfile.sh /home/user/Maildir/cur/"file123" > /home/user/Maildir/.enc/cur/"file123"

Если вы хотите зашифровать все письма в основной папке, используйте этот дополнительный сценарий (измените путь к первому сценарию, если он не находится в /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

Измените его для работы с другими папками.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .