diff options
Diffstat (limited to 'Mail')
-rw-r--r-- | Mail/README.md | 2 | ||||
-rwxr-xr-x | Mail/mutt/alias.sh | 14 | ||||
l--------- | Mail/mutt/aliases.txt | 1 | ||||
-rw-r--r-- | Mail/mutt/crypto.rc | 49 | ||||
-rw-r--r-- | Mail/mutt/mailcap | 2 | ||||
-rwxr-xr-x | Mail/mutt/notify.sh | 27 | ||||
-rw-r--r-- | Mail/muttrc | 132 |
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 + |