linuxコマンドラインからgpg暗号化メールを自動的に送信するにはどうすればよいですか?


21

linuxコマンドラインからgpg暗号化メールを自動的に送信するにはどうすればよいですか?

私はこれに少し困惑しており、muttを使用しようとしましたが、インタラクティブに使用しない限りメールを暗号化しません。

mailコマンドでビルドを使用して、これをなんとかできるかどうかは誰にもわかりますか?

回答:


25

のようなものを試してください

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

ascii-armored、公開キーで暗号化されたファイル「filename」のコピーを、指定された件名でメールアドレスrecipient@example.comの「Recipient name」(gpgキーリングにいる)という名前の人に送信します。

または

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

ディスク上のクリアテキストファイルからではなく、直接テキストを送信します。


それは(あなたの秘密鍵で)メッセージにも署名しますか?
teeks99

1
そのためにgpgコマンドに「s」を追加します-たとえば、gpg -eas -r「John Smith」
-gbroiles

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

ほら


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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.