mutt-wizard

Autoconfigure a terminal email setup with mutt and offline mail
Log | Files | Refs | README | LICENSE

commit 0b9705e6c033c569bcc5e465c167493242f77f4c
parent a60f5e7fb6609cb8d6c9bd6f32e20c7d744fd0fd
Author: Luke Smith <luke@lukesmith.xyz>
Date:   Wed,  7 Oct 2020 20:21:55 -0400

Merge branch 'master' of github.com:LukeSmithxyz/mutt-wizard into master

Diffstat:
Mbin/mw | 11++++++-----
Mshare/domains.csv | 14++++++++++++--
Mshare/mutt-wizard.muttrc | 2+-
3 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/bin/mw b/bin/mw @@ -10,6 +10,7 @@ command -V gpg >/dev/null 2>&1 && GPG="gpg" || GPG="gpg2" ! command -v mbsync >/dev/null && printf "\`mbsync (isync package)\` must be installed to run mutt-wizard.\\n" && exit prefix="/usr/local" +pass_prefix="mutt-wizard-" muttdir="${XDG_CONFIG_HOME:-$HOME/.config}/mutt" # Main mutt config location accdir="$muttdir/accounts" # Directory for account settings maildir="${XDG_DATA_HOME:-$HOME/.local/share}/mail" # Location of mail storage @@ -48,14 +49,14 @@ host $smtp port $sport from $fulladdr user $login -passwordeval \"pass mutt-wizard-$title\" +passwordeval \"pass $pass_prefix$title\" $starttlsoff " mbsync_profile="IMAPStore $title-remote Host $imap Port $iport User $login -PassCmd \"pass mutt-wizard-$title\" +PassCmd \"pass $pass_prefix$title\" AuthMechs LOGIN SSLType $ssltype CertificateFile $sslcert @@ -109,7 +110,7 @@ set folder = \"imaps://$login@$imap:$iport\" set imap_user = \"$login\" set header_cache = $cachedir/$title/headers set message_cachedir = $cachedir/$title/bodies -set imap_pass = \"\`pass mutt-wizard-$title\`\" +set imap_pass = \"\`pass $pass_prefix$title\`\" set mbox_type = Maildir set ssl_starttls = yes @@ -219,8 +220,8 @@ protonfinger() { printf "Getting Protonmail bridge fingerprint...\\n" sed -ibu "s/account $title/&\ntls_trust_file\ntls_fingerprint $fingerprint/" "$msmtprc" ; rm -f "$msmtprc"bu } -getpass() { while : ; do pass rm -f "mutt-wizard-$title" >/dev/null 2>&1 - pass insert "mutt-wizard-$title" && break; done ;} +getpass() { while : ; do pass rm -f "$pass_prefix$title" >/dev/null 2>&1 + pass insert "$pass_prefix$title" && break; done ;} formatShortcut() { toappend="$toappend macro index,pager g$1 \"<change-folder>=$3<enter>\" \"go to $2\" $MARKER diff --git a/share/domains.csv b/share/domains.csv @@ -14,6 +14,7 @@ alumnidirector.com,imap.mail.com,993,smtp.mail.com,587 alunos.utfpr.edu.br,imap.gmail.com,993,smtp.gmail.com,587 anche.no,mail.autistici.org,993,smtp.autistici.org,465 angelic.com,imap.mail.com,993,smtp.mail.com,587 +anu.edu.au,outlook.office365.com,993,smtp.office365.com,587 aol.com,imap.aol.com,993,smtp.aol.com,465 appraiser.net,imap.mail.com,993,smtp.mail.com,587 aquilenet.fr,imap.aquilenet.fr,993,smtp.aquilenet.fr,587 @@ -127,12 +128,13 @@ inventati.org,mail.autistici.org,993,smtp.autistici.org,465 ionos.de,imap.ionos.de,993,smtp.ionos.de,587 itu.dk,imap-mail.outlook.com,993,smtp-mail.outlook.com,587 iu.edu,imap.exchange.iu.edu,993,mail-relay.iu.edu,587 +kalli.st,mail.kalli.st,993,kalli.st,587 kean.edu,imap.gmail.com,993,smtp.gmail.com,587 kipras.org,mail.kipras.org,993,mail.kipras.org,587 krutt.org,mail.autistici.org,993,smtp.autistici.org,465 kth.se,webmail.kth.se,993,smtp.kth.se,587 -lavabit.com,lavabit.com,993,lavabit.com,587 larbs.xyz,mail.larbs.xyz,993,mail.larbs.xyz,587 +lavabit.com,lavabit.com,993,lavabit.com,587 librem.one,imap.librem.one,993,smtp.librem.one,465 linuxmail.org,imap.mail.com,993,smtp.mail.com,587 live.com,imap-mail.outlook.com,993,smtp-mail.outlook.com,587 @@ -151,6 +153,7 @@ mailbox.org,imap.mailbox.org,993,smtp.mailbox.org,587 mailbox.tu-dresden.de,msx.tu-dresden.de,993,msx.tu-dresden.de,587 mailfence.com,imap.mailfence.com,993,smtp.mailfence.com,465 mailo.com,mail.mailo.com,993,mail.mailo.com,465 +marquette.edu,outlook.office365.com,993,smtp.office365.com,587 memeware.net,mail.cock.li,993,mail.cock.li,587 metu.edu.tr,imap.metu.edu.tr,993,smtp.metu.edu.tr,465 ml1.net,imap.fastmail.com,993,smtp.fastmail.com,465 @@ -158,6 +161,7 @@ mortemale.org,mail.autistici.org,993,smtp.autistici.org,465 msn.com,imap-mail.outlook.com,993,smtp-mail.outlook.com,587 muny.us,mail.muny.us,993,mail.muny.us,465 myself.com,imap.mail.com,993,smtp.mail.com,587 +myseneca.ca,outlook.office365.com,993,outlook.office365.com,587 narod.ru,imap.yandex.com,993,smtp.yandex.com,587 national.shitposting.agency,mail.cock.li,993,mail.cock.li,587 ncsu.edu,imap.gmail.com,993,smtp.gmail.com,587 @@ -199,12 +203,14 @@ rmcacs.org,imap.gmail.com,993,smtp.gmail.com,587 runbox.com,mail.runbox.com,993,mail.runbox.com,587 rwth-aachen.de,mail.rwth-aachen.de,993,mail.rwth-aachen.de,587 sapo.pt,imap.sapo.pt,993,smtp.sapo.pt,587 +seznam.cz,imap.seznam.cz,993,smtp.seznam.cz,465 smail.inf.h-brs.de,imap.inf.h-brs.de,993,smtp.inf.h-brs.de,587 southwales.ac.uk,imap.gmail.com,993,smtp.gmail.com,587 spoko.pl,imap.poczta.onet.pl,993,smtp.poczta.onet.pl,465 st.amu.edu.pl,outlook.office365.com,993,smtp.office365.com,587 stevens.edu,imap.outlook.com,993,smtp.outlook.com,587 stronzi.org,mail.autistici.org,993,smtp.autistici.org,465 +stud.feec.vutbr.cz,imap.stud.feec.vutbr.cz,993,smtp.stud.feec.vutbr.cz,587 stud.tu-darmstadt.de,imap.stud.tu-darmstadt.de,993,smtp.tu-darmstadt.de,465 stud.uis.no,outlook.office365.com,993,smtp.office365.com,587 stud.uni-bamberg.de,outlook.office365.com,993,smtp.office365.com,587 @@ -212,6 +218,7 @@ student.binadarma.ac.id,imap.gmail.com,993,smtp.gmail.com,587 student.ethz.ch,mail.ethz.ch,993,mail.ethz.ch,587 student.rmit.edu.au,outlook.office365.com,993,smtp.office365.com,587 student.tuwien.ac.at,mail.student.tuwien.ac.at,993,mail.student.tuwien.ac.at,587 +student.uj.edu.pl,outlook.office365.com,993,smtp.office365.com,587 student.utwente.nl,imap.gmail.com,993,smtp.gmail.com,587 studenti.unipi.it,outlook.office365.com,993,smtp.office365.com,587 students.rmcacs.org,imap.gmail.com,993,smtp.gmail.com,587 @@ -236,6 +243,7 @@ ua.pt,outlook.office365.com,993,mail.ua.pt,25 uach.mx,imap.gmail.com,993,smtp.gmail.com,587 ucdavis.edu,imap.gmail.com,993,smtp.gmail.com,587 uni-duesseldorf.de,mail.hhu.de,993,mail.hhu.de,465 +uni-jena.de,imap.uni-jena.de,993,smtp.uni-jena.de,587 unilodz.eu,outlook.office365.com,993,smtp.office365.com,587 unitybox.de,mail.unity-mail.de,993,mail.unity-mail.de,587 univ-ubs.fr,partage.univ-ubs.fr,993,partage.univ-ubs.fr,587 @@ -251,7 +259,7 @@ vip.onet.pl,imap.poczta.onet.pl,993,smtp.poczta.onet.pl,465 vivaldi.net,imap.vivaldi.net,993,smtp.vivaldi.net,587 vp.pl,imap.poczta.onet.pl,993,smtp.poczta.onet.pl,465 vt.edu,imap.gmail.com,993,smtp.gmail.com,587 -vxempire.xyz,vxempire.xyz,993,vxempire.xyz,587 +vxempire.xyz,vxempire.xyz,993,vxempire.xyz,465 waifu.club,mail.cock.li,993,mail.cock.li,587 wanadoo.fr,imap.orange.fr,993,smtp.orange.fr,465 wants.dicksinhisan.us,mail.cock.li,993,mail.cock.li,587 @@ -267,3 +275,5 @@ ymail.com,imap.mail.yahoo.com,993,smtp.mail.yahoo.com,465 zaclys.net,mail.zaclys.net,993,mail.zaclys.net,465 zoho.com,imap.zoho.com,993,smtp.zoho.com,465 zohomail.eu,imap.zoho.eu,993,smtp.zoho.eu,465 +sms.ed.ac.uk,pod51015.outlook.com,993,pod51015.outlook.com,587 + diff --git a/share/mutt-wizard.muttrc b/share/mutt-wizard.muttrc @@ -71,7 +71,7 @@ bind editor <Tab> complete-query macro index,pager a "<enter-command>set my_pipe_decode=\$pipe_decode pipe_decode<return><pipe-message>abook --add-email<return><enter-command>set pipe_decode=\$my_pipe_decode; unset my_pipe_decode<return>" "add the sender address to abook" macro index \Cr "T~U<enter><tag-prefix><clear-flag>N<untag-pattern>.<enter>" "mark all messages as read" macro index O "<shell-escape>mbsync -a<enter>" "run mbsync to sync all mail" -macro index \Cf "<enter-command>unset wait_key<enter><shell-escape>read x?'Enter a search term to find with notmuch: '; echo \$x >~/.cache/mutt_terms<enter><limit>~i \"\`notmuch search --output=messages \$(cat ~/.cache/mutt_terms) | head -n 600 | perl -le '@a=<>;s/\^id:// for@a;$,=\"|\";print@a' | perl -le '@a=<>; chomp@a; s/\\+/\\\\+/ for@a;print@a' \`\"<enter>" "show only messages matching a notmuch pattern" +macro index \Cf "<enter-command>unset wait_key<enter><shell-escape>printf 'Enter a search term to find with notmuch: '; read x; echo \$x >~/.cache/mutt_terms<enter><limit>~i \"\`notmuch search --output=messages \$(cat ~/.cache/mutt_terms) | head -n 600 | perl -le '@a=<>;s/\^id:// for@a;$,=\"|\";print@a' | perl -le '@a=<>; chomp@a; s/\\+/\\\\+/ for@a;print@a' \`\"<enter>" "show only messages matching a notmuch pattern" macro index A "<limit>all\n" "show all messages (undo limit)" # Sidebar mappings