19

Как я могу автоматически отправлять зашифрованные сообщения gpg из командной строки linux?

Я немного озадачен этим, я пытался использовать Mutt, но он не шифрует почту, если он не используется в интерактивном режиме.

Кто-нибудь знает, можете ли вы использовать команду build in mail для этого?

3 ответа3

23

попробуй что-то вроде

gpg -ea -r "Recipient name" -o - filename | mail -s "Subject line" recipient@example.com

отправить защищенную ascii копию файла "имя файла" в зашифрованном с открытым ключом лицу с именем "Имя получателя" (которое находится в вашем gpg-наборе ключей) по адресу электронной почты receient@example.com с указанной строкой темы.

или же

echo "Your secret message" | gpg -ea -r "Recipient name" | mail -s "Subject" recipient@example.com

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

0

Вот небольшой сценарий, который я написал. Сохраните его в ~/username/bin/gpgmail и запустите chmod 755 gpgmail . Запустите с помощью gpgmail .

#!/bin/bash
# Send encrypted email
# Requires gpg and mail to be setup

echo "Available keys:"
gpg --list-keys
# Gather variables
echo "Enter public key of recipient:"
read user
echo "Enter email:"
read email
echo "Enter subject:"
read subject
echo "Enter message:"
read message

# Pipe the echoed message to gpg, sign and encrypt it to ascii (-eas), include your key so you can read it,
# include recipients key, pipe to mail with the (unencrypted) subject, send to the given email.
echo "$message" | gpg2 --no-emit-version -eas -r galenasphaug@gmail.com -r $user | mail -s "$subject" $email
0

Альтернатива для тех, кто использует msmtp.

cat <<EOF | gpg -ea -r "recipient gpg name" | msmtp -a "account default" recipient@mail.com Subject: Hello Kosmos Type your message here, yada yada yada. EOF

voilà

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