From d4348d38fd42862837c81d3d0e10062ddf5ec3fd Mon Sep 17 00:00:00 2001 From: Wojciech Zygmunt Porczyk Date: Mon, 6 Oct 2014 13:39:15 +0000 Subject: [PATCH] Mutt changed created --- Mutt.md | 131 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 Mutt.md diff --git a/Mutt.md b/Mutt.md new file mode 100644 index 00000000..ec390382 --- /dev/null +++ b/Mutt.md @@ -0,0 +1,131 @@ +--- +layout: wiki +title: Mutt +permalink: /wiki/Mutt/ +--- + +Mutt +==== + +Mutt is a fast, standards-compliant, efficient MUA (Mail User Agent). In some areas it works better than Thunderbird+Enigmail, and is certainly faster and more responsive. + +Mutt lacks true MTA (Message Transfer Agent aka "SMTP client") and MRA (Mail Retrieval Agent aka "IMAP/POP3 client"), thus there are some provisions built-in. In principle it is only mail reader and composer. You may install true MTA such as [Postfix](/wiki/Postfix) or Exim and MRA such as [Fetchmail](/wiki/Fetchmail). + +Installation +------------ + +`yum install mutt` + +Configuration +------------- + +Mutt generally works out of the box. This configuration guide discusses only Qubes-specific setup. In this example we will have one TemplateVM and several AppVMs. It also takes advantage of [SplitGPG?](/wiki/SplitGPG), which is assumed to be already working. + +**NOTE:** this requires `qubes-gpg-split >= 2.0.8`. 2.0.7 and earlier contains bug which causes this setup to hang in specific situations. + +First, paste this to `/etc/Muttrc.local` in TemplateVM: + +``` {.wiki} +# specify your key or override in ~/.mutt/muttrc in AppVM +set pgp_sign_as="0xDEADBEEF" + +set pgp_use_gpg_agent = no + +# this needs qubes-gpg-split >= 2.0.8; 2.0.7 end earlier has had a deadlock on this +set pgp_decode_command="qubes-gpg-client-wrapper --status-fd=2 --batch %f" +#set pgp_decode_command="gpg --status-fd=2 %?p?--passphrase-fd=0? --no-verbose --quiet --batch --output - %f" + +set pgp_decrypt_command="$pgp_decode_command" + +# qubes-gpg-client does not know, how to pass two files; this has to be done locally; see #900 +set pgp_verify_command="gpg --status-fd=2 --no-verbose --quiet --batch --output - --verify %s %f" + +set pgp_sign_command="qubes-gpg-client-wrapper --batch --armor --detach-sign --textmode %?a?-u %a? %f" +set pgp_clearsign_command="qubes-gpg-client-wrapper --batch --armor --textmode --clearsign %?a?-u %a? %f" + +# I found no option to add Charset armor header when it is UTF-8, since this is +# default (as specified in RFC4880). This is needed to workaround bug in +# Enigmail, which ignores RFC and without this header Thunderbird interprets +# plaintext as us-ascii. See http://sourceforge.net/p/enigmail/bugs/38/. +set pgp_encrypt_only_command="pgpewrap qubes-gpg-client-wrapper --batch --textmode --armor --always-trust %?a?--encrypt-to %a? --encrypt -- -r %r -- %f | sed -e '2iCharset: UTF-8'" +set pgp_encrypt_sign_command="pgpewrap qubes-gpg-client-wrapper --batch --textmode --armor --always-trust %?a?--encrypt-to %a? --encrypt --sign %?a?-u %a? -- -r %r -- %f | sed -e '2iCharset: UTF-8'" + +# we need to import both into vault and locally wrt $pgp_verify_command +set pgp_import_command="qubes-gpg-import-key %f; gpg --no-verbose --import %f" + +# those are unsupported by split-gpg +set pgp_export_command="gpg --no-verbose --export --armor %r" +set pgp_verify_key_command="gpg --no-verbose --batch --fingerprint --check-sigs %r" + +#