Wie kann ich gpg-verschlüsselte E-Mails automatisch über die Linux-Befehlszeile senden?

21

Wie kann ich gpg-verschlüsselte E-Mails automatisch über die Linux-Befehlszeile senden?

Ich bin ein bisschen ratlos, ich habe versucht, mutt zu verwenden, aber es verschlüsselt keine E-Mails, es sei denn, es wird interaktiv verwendet.

Weiß jemand, ob Sie den eingebauten Mail-Befehl verwenden können, um dies irgendwie zu tun?

Rwky
quelle

Antworten:

25

versuchen Sie etwas wie

gpg -ea -r "Recipient name" -o - filename | mail -s "Subject line" [email protected]

Senden einer ASCII-gepanzerten, Public-Key-verschlüsselten Kopie der Datei "Dateiname" an eine Person mit dem Namen "Empfängername" (die sich in Ihrem GPG-Schlüsselring befindet) an die E-Mail-Adresse [email protected] mit der angegebenen Betreffzeile.

oder

echo "Your secret message" | gpg -ea -r "Recipient name" | mail -s "Subject" [email protected]

um Text direkt anstatt von einer Klartextdatei auf der Festplatte zu senden.

gbroiles
quelle
Unterschreibt das auch die Nachricht (mit Ihrem privaten Schlüssel)?
teeks99
1
Fügen Sie dazu "s" zum gpg-Befehl hinzu, z. B. gpg -eas -r "John Smith"
gbroiles
0

Eine Alternative für diejenigen, die msmtp verwenden.

cat <<EOF | gpg -ea -r "recipient gpg name" | msmtp -a "account default" [email protected] Subject: Hello Kosmos Type your message here, yada yada yada. EOF

voilà

qhaz
quelle
0

Hier ist ein kleines Skript, das ich geschrieben habe. Speichern Sie es unter ~ / username / bin / gpgmail und führen Sie es aus chmod 755 gpgmail. Führen Sie mit 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 [email protected] -r $user | mail -s "$subject" $email
Clownfischmensch
quelle