PGPはネットワークを介した送信中にのみ必要であるため、受信/送信時にメッセージを暗号化/復号化するのに理想的なソリューションです。 ローカルPOP3 / SMTPリレーサーバーを使用します。 この場合、すべてのメールクライアント(MUA)は自動的に「PGPサポート」を受け取りますが、同時にPGPについて何も知らず、暗号化されていない文字を使用していました。 Windowsでは、このようなサーバー-GPGrelayがあります。 * NIXの下で、アナログが見つかりませんでした。 送信メールを自動的に暗号化できるkuvertユーティリティがありますが、受信メールを復号化するユーティリティは見つかりませんでした。
しかし、muttのモットーは無駄ではありません。 これは、あまり必要ありません。」-私は、その柔軟性、qmailの小さな補助スクリプト、およびこの一見普通のタスクを解決するそのような母親の助けを借りて管理しました。
手紙を送る
これにより、すべてがシンプルになります。 Muttは、通常どおり、送信される電子メールの暗号化を担当します。 したがって、どのメッセージが暗号化され、どのメッセージが暗号化されていないかを確認/制御します。 そして、私のメールボックスには、送信されたメッセージの暗号化されていないバージョンがあり、〜/ .muttrcに追加するだけです:
set fcc_clear=yes
メールを受け取る
そして、ここで困難が生じました。 Muttには、メッセージ(添付ファイルを含む)を正しく復号化する復号化保存機能があり、復号化されたメッセージを指定されたメールボックスに保存し、暗号化されたオリジナルを削除します。 (ちなみに、decode-saveと混同しないでください。decode-saveはほぼ同じことを行いますが、さらに悪いことに、少なくとも添付ファイルをサポートしていないようです。興味深いことに、mutt decode-saveのデフォルトではEsc + sボタンのどの組み合わせにも割り当てられていません。)これを使用して、現在のメールボックスの暗号化されたバージョンを暗号化されていないバージョンに置き換える-開くときにメッセージを自動的に復号化するフックを作成できます。
message-hook '~h"Content-Type: multipart/encrypted"' 'push <decrypt-save>\cu^<Enter><sync-mailbox><Enter>'
このアプローチには、いくつかの機能/欠点があります。
- 暗号化されたレターを1つだけ削除することはできません。そのため、暗号化されたレターを開くと、このメールボックスで削除のマークが付いたすべてのメッセージが削除されます。
- muttでは通常どおり、現在のレターに削除マークを付けると、このメールボックスの次のレターに進みます。 この暗号化された文字が唯一の新しい文字である場合、すべてが完全に機能します。次の文字は暗号化されていないコピーであるため、この文字を入力すると表示されます。 メールボックスに複数の新しい文字があり、すべてが暗号化されていた場合、最初の文字を開くと、自動復号化により次の文字への自動遷移が雪崩しますが、外側ではすべてが期待どおりに機能します-その結果、開いた文字が開きます しかし、新しい文字の中に暗号化されたものと暗号化されていないものが混在している場合、最初の暗号化された文字を入力すると、最初の文字が突然暗号化されずになります。
- Windows GPGrelay(暗号化/署名されたメッセージに暗号化/署名された情報をオプションで追加できる)とは異なり、復号化保存機能はメッセージを一切変更しません。 したがって、元の文字を自動的に復号化して削除した後、暗号化されて正しく署名されているかどうかを確認することはできません。
./Maildir/
その後、代わりに書く:
|addgpginfo qmail-local "$USER" "$HOME" "$LOCAL" "" "nodeliver" "$HOST" "$SENDER" ./Maildir/
パラノイアの理由により、着信レターからの可能性のあるGPG:ヘッダーの削除を追加する必要があります(そうすることで、誰かが他の誰かの名前から、署名が正しく署名されていると書かれているヘッダーに署名のないレターを送信できなくなります)。 互換性の理由から、GPG:ヘッダーの名前をX-GPG:に変更します。 しかし、これらは些細なことです。 addgpginfoを機能させるには、-write-env-fileオプションを使用してgpg-agentを実行し、Xを実行する必要があります(「:0」がない場合は、パラメーターを使用して$ DISPLAYを渡すことができます)。
結果は次のようになります。
