aboutsummaryrefslogtreecommitdiff
path: root/Mail
diff options
context:
space:
mode:
authorVasil Zlatanov <vasil.zlatanov@gmail.com>2015-08-18 01:58:09 +0200
committerVasil Zlatanov <vasil.zlatanov@gmail.com>2015-08-18 01:58:09 +0200
commite966aae2dd9d90d6c2a745ecb4f5c528bd0161fe (patch)
tree497bb2e2a61763f0874db5a8e20ebc2daaf85fd2 /Mail
parente26958b154d0457c1019bc48a5ff0ed637cf3eac (diff)
downloaddotfiles-e966aae2dd9d90d6c2a745ecb4f5c528bd0161fe.tar.gz
dotfiles-e966aae2dd9d90d6c2a745ecb4f5c528bd0161fe.tar.bz2
dotfiles-e966aae2dd9d90d6c2a745ecb4f5c528bd0161fe.zip
mutt update
Diffstat (limited to 'Mail')
-rw-r--r--Mail/README.md2
-rwxr-xr-xMail/mutt/alias.sh14
l---------Mail/mutt/aliases.txt1
-rw-r--r--Mail/mutt/crypto.rc49
-rw-r--r--Mail/mutt/mailcap2
-rwxr-xr-xMail/mutt/notify.sh27
-rw-r--r--Mail/muttrc132
7 files changed, 227 insertions, 0 deletions
diff --git a/Mail/README.md b/Mail/README.md
new file mode 100644
index 0000000..ad3cbb5
--- /dev/null
+++ b/Mail/README.md
@@ -0,0 +1,2 @@
+ln -s ~/dotfiles/Mail/muttrc ~/.muttrc
+ln -s ~/dotfiles/Mail/mutt ~/.mutt
diff --git a/Mail/mutt/alias.sh b/Mail/mutt/alias.sh
new file mode 100755
index 0000000..c2cb1ee
--- /dev/null
+++ b/Mail/mutt/alias.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+MESSAGE=$(cat)
+
+NEWALIAS=$(echo "${MESSAGE}" | grep ^"From: " | sed s/[\,\"\']//g | awk '{$1=""; if (NF == 3) {print "alias" $0;} else if (NF == 2) {print "alias" $0 $0;} else if (NF > 3) {print "alias", tolower($(NF-1))"-"tolower($2) $0;}}')
+
+if grep -Fxq "$NEWALIAS" $HOME/.mutt/aliases.txt; then
+ :
+else
+ if [[ "$NEWALIAS" != "*Google*" ]] || [[ "$NEWALIAS" != "*no-reply*" ]]; then
+ echo "$NEWALIAS" >> $HOME/.mutt/aliases.txt;
+ fi
+fi
+
+echo "${MESSAGE}"
diff --git a/Mail/mutt/aliases.txt b/Mail/mutt/aliases.txt
new file mode 120000
index 0000000..12e0fe3
--- /dev/null
+++ b/Mail/mutt/aliases.txt
@@ -0,0 +1 @@
+/home/vasko/Sync/Mail/aliases.txt \ No newline at end of file
diff --git a/Mail/mutt/crypto.rc b/Mail/mutt/crypto.rc
new file mode 100644
index 0000000..4029c3d
--- /dev/null
+++ b/Mail/mutt/crypto.rc
@@ -0,0 +1,49 @@
+set pgp_decode_command="gpg %?p?--passphrase-fd 0? --no-verbose --batch --output - %f"
+set pgp_verify_command="gpg --no-verbose --batch --output - --verify %s %f"
+set pgp_decrypt_command="gpg --passphrase-fd 0 --no-verbose --batch --output - %f"
+set pgp_sign_command="gpg --no-verbose --batch --output - --passphrase-fd 0 --armor --detach-sign --textmode %?a?-u %a? %f"
+set pgp_clearsign_command="gpg --no-verbose --batch --output - --passphrase-fd 0 --armor --textmode --clearsign %?a?-u %a? %f"
+set pgp_encrypt_only_command="pgpewrap gpg --batch --quiet --no-verbose --output - --encrypt --textmode --armor --always-trust -- -r %r -- %f"
+set pgp_encrypt_sign_command="pgpewrap gpg %?p?--passphrase-fd 0? -v --batch --quiet --output - --encrypt --sign %?a?-u %a? --armor --always-trust -- -r %r -- %f"
+set pgp_import_command="gpg --no-verbose --import -v %f"
+set pgp_export_command="gpg --no-verbose --export --armor %r"
+set pgp_verify_key_command="gpg --no-verbose --batch --fingerprint --check-sigs %r"
+set pgp_list_pubring_command="gpg --no-verbose --batch --with-colons --list-keys %r"
+set pgp_list_secring_command="gpg --no-verbose --batch --with-colons --list-secret-keys %r"
+
+set pgp_use_gpg_agent = yes
+
+# specify the uid to use when encrypting/signing
+set pgp_sign_as=0xB54608CC
+
+# this set the number of seconds to keep in memory the passpharse used to encrypt/sign
+# the more the less secure it will be
+set pgp_timeout=60
+
+# it's a regexp used against the GPG output: if it matches some line of the output
+# then mutt considers the message a good signed one (ignoring the GPG exit code)
+set pgp_good_sign="^gpg: Good signature from"
+
+# mutt uses by default PGP/GPG to sign/encrypt messages
+# if you want to use S-mime instead set the smime_is_default variable to yes
+
+# automatically sign all outgoing messages
+set crypt_autosign
+# sign only replies to signed messages
+#set crypt_replysign
+
+# automatically encrypt outgoing messages
+#set crypt_autoencrypt=yes
+# encrypt only replies to signed messages
+#set crypt_replyencrypt=yes
+# encrypt and sign replies to encrypted messages
+set crypt_replysignencrypted=yes
+
+# Use Y to not enrypt
+macro compose Y pfy "send mail without GPG"
+
+# automatically verify the sign of a message when opened
+set crypt_verify_sig=yes
+
+# enable inline / traditional pgp support
+message-hook '!(~g|~G) ~b"^-----BEGIN\ PGP\ (SIGNED\ )?MESSAGE"' "exec check-traditional-pgp"
diff --git a/Mail/mutt/mailcap b/Mail/mutt/mailcap
new file mode 100644
index 0000000..136a03f
--- /dev/null
+++ b/Mail/mutt/mailcap
@@ -0,0 +1,2 @@
+application/*; mkdir -p /tmp/mutt \; cp %s /tmp/mutt \; rifle /tmp/mutt/$(basename %s) &
+text/html; w3m -I %{charset} -T text/html; copiousoutput;
diff --git a/Mail/mutt/notify.sh b/Mail/mutt/notify.sh
new file mode 100755
index 0000000..a628c52
--- /dev/null
+++ b/Mail/mutt/notify.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+# Note to make xset led 1 and 2 work:
+#
+# /usr/share/X11/xkb/compat/ledcaps
+# /usr/share/X11/xkb/compat/lednum
+# and replace:
+# !allowExplicit;
+# with:
+# allowExplicit;
+#
+#####################k
+# Turns on CapsLock
+#
+
+echo "$1"
+echo "$1" | grep -q "New" > /dev/null 2>&1
+status=$?
+
+if [ $status -eq 0 ];then
+ xset led 1
+ touch ~/.mutt/newmail
+else
+ xset -led 1
+if [ -e ~/.mutt/newmail ];then
+ rm ~/.mutt/newmail
+fi
+fi
diff --git a/Mail/muttrc b/Mail/muttrc
new file mode 100644
index 0000000..16537b4
--- /dev/null
+++ b/Mail/muttrc
@@ -0,0 +1,132 @@
+# GPG config
+source ~/.mutt/crypto.rc
+
+#Load aliases
+#set alias_file=$HOME/.mutt/aliases.txt
+#source $alias_file
+
+
+#Offline Imap config
+set mbox_type = Maildir
+set sendmail = /usr/bin/msmtp
+
+set folder = ~/.mail/
+set spoolfile = "+dove/Inbox"
+set mbox = "+dove/Archive"
+set postponed = "+dove/Drafts"
+set record = "+dove/Sent"
+
+mailboxes +Inbox
+
+
+# View good/bad mails
+# macro index S "<limit>~h \"X-Spam-Flag: YES\"<enter><last-entry>" "Show only SPAM"
+# macro index s "<limit>~h \"X-Spam-Status: No\"<enter><last-entry>" "Hide SPAM"
+
+macro index D \
+ "<save-message>+dove/Trash<enter>" \
+ "move message to the trash"
+
+#macro index S \
+# "<save-message>+dove/Spam<enter>" \
+# "mark message as spam"
+
+# Dove conf
+set from = "v@skozl.com"
+set realname = "Vasil Zlatanov"
+
+# Save contact to CardDav
+macro index,pager A "<pipe-message>pycard-import<enter>" "add sender address to pycardsyncer"
+
+# Load from CardDav
+set query_command="pc_query -m '%s'"
+
+
+
+# Change the following line to a different editor you prefer.
+set editor = "vim"
+
+# Basic config, you can leave this as is
+set mail_check = 1
+set timeout = 1
+unset imap_passive
+set header_cache=~/.muttlocal/cache/headers
+set message_cachedir=~/.muttlocal/cache/bodies
+set certificate_file=~/.muttlocal/certificates
+set move = no
+set include
+set sort = 'reverse-date-received'
+#set sort_aux = 'reverse-last-date-received'
+set auto_tag = yes
+ignore "Authentication-Results:"
+ignore "DomainKey-Signature:"
+ignore "DKIM-Signature:"
+hdr_order Date From To Cc
+alternative_order text/plain text/html *
+auto_view text/html
+
+# Hide crap
+
+ignore lines precedence status message-id x-lines x-loop x-sender
+ignore nntp-posting-host old-return-path received references
+ignore content- errors-to mime-version resent- return-path xref
+ignore conversion original-encoded-information-types x400 x-vm-
+ignore x-sun x-status x-vm- illegal-object x-authentication-warning
+ignore originator x-received x-listprocessor x-mailinglist
+ignore old-priority priority x-msmail-priority old-x-envelope-to
+ignore x-envelope-to x-gateway x-z-charset x-forward-loop x-comment
+ignore comments x-pmrqc x-face x-envelope-sender from_ x-mailing-list
+ignore x-copyright x-cid-url sender x-ixthys-url x-priority
+ignore x-no-junk-mail x-server-date x-phone x-mime-autoconverted
+ignore x-alt-email x-orcpt company division x-warning
+
+
+# Gmail-style keyboard shortcuts
+macro index,pager gi "<change-folder>=dove/Inbox<enter>" "Go to inbox"
+macro index,pager ga "<change-folder>=dove/Archive<tab><enter>" "Go to all mail"
+macro index,pager gs "<change-folder>=dove/Sent<tab><enter>" "Go to sent mail"
+macro index,pager gj "<change-folder>=dove/Spam<enter>" "Go to spam"
+macro index,pager gt "<change-folder>=dove/Trash<enter>" "Go to trash"
+macro index,pager gd "<change-folder>=dove/Drafts<enter>" "Go to drafts"
+
+# Other config
+set delete
+#set edit_headers
+set fast_reply
+unset help
+set pager_stop
+
+# Bindings
+bind index,pager "n" next-unread
+bind index,pager "N" search-next
+
+bind browser d half-down
+bind index d half-down
+bind pager d half-down
+
+bind browser u half-up
+bind index u half-up
+bind pager u half-up
+
+bind index gg first-entry
+bind pager gg top
+bind index G last-entry
+bind pager G bottom
+bind index R group-reply
+
+
+# Write in Aliases when opening email
+set display_filter='$HOME/.mutt/alias.sh'
+
+# Remove + on wraps
+unset markers
+
+# Mutt LED notification
+set status_format="$HOME/.mutt/notify.sh '%r %f (%L) [Msgs:%?M?%M/?%m%?n? New:%n?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?]'|"
+
+# Render silly html
+set mailcap_path = ~/.mutt/mailcap
+folder-hook . `rm -f /tmp/mutt/*` # delete tmp files created by mailcap
+auto_view text/html # view html automatically
+alternative_order text/plain text/enriched text/html # save html for last
+