Merge branch 'master' of github.com:LukeSmithxyz/mutt-wizard
This commit is contained in:
commit
d951fb64c5
1
Makefile
1
Makefile
@ -30,5 +30,6 @@ uninstall:
|
|||||||
rm -f $(DESTDIR)$(PREFIX)/bin/$$script; \
|
rm -f $(DESTDIR)$(PREFIX)/bin/$$script; \
|
||||||
done
|
done
|
||||||
rm -rf $(DESTDIR)$(PREFIX)/share/mutt-wizard
|
rm -rf $(DESTDIR)$(PREFIX)/share/mutt-wizard
|
||||||
|
rm -f $(DESTDIR)$(MANPREFIX)/man1/mw.1
|
||||||
|
|
||||||
.PHONY: install uninstall
|
.PHONY: install uninstall
|
||||||
|
@ -110,9 +110,9 @@ mutt-wizard is free/libre software, licensed under the GPLv3.
|
|||||||
- In `/usr/share/mutt-wizard` are several global config files, including `mutt-wizard`'s default settings. You can overwride this in your `muttrc` if you wish.
|
- In `/usr/share/mutt-wizard` are several global config files, including `mutt-wizard`'s default settings. You can overwride this in your `muttrc` if you wish.
|
||||||
|
|
||||||
## Watch out for these things:
|
## Watch out for these things:
|
||||||
|
- Gmail accounts can now create 'App Password' to use with """less secure""" applications. This password is single use (ie. for setup) and will be stored and encrypted locally. Enabling third-party applications requires turning off two-factor authentication and this will circumvent that. You might also need to manually "Enable IMAP" in the settings.
|
||||||
- For Gmail accounts, remember also to enable third-party ("""less secure""") applications before attempting installation. You might also need to manually "Enable IMAP" in the settings.
|
|
||||||
- Protonmail accounts will require you to set up "Protonmail Bridge" to access PM's IMAP and SMTP servers. Configure that before running mutt-wizard.
|
- Protonmail accounts will require you to set up "Protonmail Bridge" to access PM's IMAP and SMTP servers. Configure that before running mutt-wizard.
|
||||||
|
- Protonmail bridge is prone to timing out. Watch out for this while adding an account. If the bridge times out, try again.
|
||||||
- If you have a university email, or enterprise-hosted email for work, there might be other hurdles or two-factor authentication you have to jump through. Some, for example, will want you to create a separate IMAP password, etc.
|
- If you have a university email, or enterprise-hosted email for work, there might be other hurdles or two-factor authentication you have to jump through. Some, for example, will want you to create a separate IMAP password, etc.
|
||||||
- `isync` is not fully UTF-8 compatible, so non-Latin characters may be garbled (although sync should succeed). `mw` will also not autocreate mailbox shortcuts since it is looking for English mailbox names. I strongly recommend you to set your email language to English on your mail server to avoid these problems.
|
- `isync` is not fully UTF-8 compatible, so non-Latin characters may be garbled (although sync should succeed). `mw` will also not autocreate mailbox shortcuts since it is looking for English mailbox names. I strongly recommend you to set your email language to English on your mail server to avoid these problems.
|
||||||
|
|
||||||
|
@ -2,12 +2,13 @@
|
|||||||
# Sync mail and give notification if there is new mail.
|
# Sync mail and give notification if there is new mail.
|
||||||
|
|
||||||
export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
||||||
export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u)/bus
|
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u)/bus
|
||||||
|
export DBUS_SESSION_BUS_ADDRESS
|
||||||
export DISPLAY=:0.0
|
export DISPLAY=:0.0
|
||||||
[ -d "$HOME/.local/share/password-store" ] && export PASSWORD_STORE_DIR="$HOME/.local/share/password-store"
|
[ -d "$HOME/.local/share/password-store" ] && export PASSWORD_STORE_DIR="$HOME/.local/share/password-store"
|
||||||
|
|
||||||
# Run only if user logged in (prevent cron errors)
|
# Run only if user logged in (prevent cron errors)
|
||||||
pgrep -u "$USER" >/dev/null || { echo "$USER not logged in; sync will not run."; exit ;}
|
pgrep -u "${USER:=$LOGNAME}" >/dev/null || { echo "$USER not logged in; sync will not run."; exit ;}
|
||||||
# Run only if not already running in other instance
|
# Run only if not already running in other instance
|
||||||
pgrep -x mbsync >/dev/null && { echo "mbsync is already running." ; exit ;}
|
pgrep -x mbsync >/dev/null && { echo "mbsync is already running." ; exit ;}
|
||||||
|
|
||||||
|
18
bin/mw
18
bin/mw
@ -134,8 +134,22 @@ askinfo() { \
|
|||||||
printf "\033[0m"
|
printf "\033[0m"
|
||||||
done
|
done
|
||||||
domain="$(echo "$fulladdr" | sed "s/.*@//")"
|
domain="$(echo "$fulladdr" | sed "s/.*@//")"
|
||||||
|
search_query=$domain
|
||||||
|
case "$domain" in
|
||||||
|
protonmail.com|protonmail.ch|pm.me)
|
||||||
|
search_query='protonmail.com' && break;;
|
||||||
|
*)
|
||||||
|
while : ; do
|
||||||
|
printf "\nIs your email hosted with Protonmail? [yes/no] "
|
||||||
|
read -r is_protonmail
|
||||||
|
case $is_protonmail in
|
||||||
|
[Yy][Ee][Ss]) search_query='protonmail.com' && break;;
|
||||||
|
[Nn][Oo]) break;;
|
||||||
|
*) printf 'Please answer Yes or No'
|
||||||
|
esac; done;
|
||||||
|
esac
|
||||||
printf "\\nSearching for \033[32m%s\033[0m in \033[34m\`domains.csv\`\033[0m..." "$domain"
|
printf "\\nSearching for \033[32m%s\033[0m in \033[34m\`domains.csv\`\033[0m..." "$domain"
|
||||||
serverinfo="$(grep "^$domain" "$muttshare/domains.csv" 2>/dev/null)"
|
serverinfo="$(grep "^$search_query" "$muttshare/domains.csv" 2>/dev/null)"
|
||||||
if [ -z "$serverinfo" ]; then
|
if [ -z "$serverinfo" ]; then
|
||||||
printf "Your email domain is not in mutt-wizard's database yet.\\nmutt-wizard will still autoconfigure everything, but you will have to manually type in your service's IMAP and SMTP server information.\\nYou can usually quickly find this by internet searching for it.\\n"
|
printf "Your email domain is not in mutt-wizard's database yet.\\nmutt-wizard will still autoconfigure everything, but you will have to manually type in your service's IMAP and SMTP server information.\\nYou can usually quickly find this by internet searching for it.\\n"
|
||||||
printf "Insert the IMAP server for your email provider (excluding the port number)\\n\033[36m\t"
|
printf "Insert the IMAP server for your email provider (excluding the port number)\\n\033[36m\t"
|
||||||
@ -194,7 +208,7 @@ EOF
|
|||||||
}
|
}
|
||||||
|
|
||||||
protonfinger() { printf "Getting Protonmail bridge fingerprint...\\n"
|
protonfinger() { printf "Getting Protonmail bridge fingerprint...\\n"
|
||||||
fingerprint="$(msmtp --serverinfo --host=127.0.0.1 --port=1025 --tls --tls-certcheck=off)" || return 1
|
fingerprint="$(msmtp --serverinfo --host=127.0.0.1 --port=1025 --tls --tls-certcheck=off | grep SHA256: | sed 's/^.*: //')"
|
||||||
sed -ibu "s/account $title/&\ntls_trust_file\ntls_fingerprint $fingerprint/" "$msmtprc" ; rm -f "$msmtprc"bu
|
sed -ibu "s/account $title/&\ntls_trust_file\ntls_fingerprint $fingerprint/" "$msmtprc" ; rm -f "$msmtprc"bu
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@ counsellor.com,imap.mail.com,993,smtp.mail.com,587
|
|||||||
cryptolab.net,mail.autistici.org,993,smtp.autistici.org,465
|
cryptolab.net,mail.autistici.org,993,smtp.autistici.org,465
|
||||||
cumallover.me,mail.cock.li,993,mail.cock.li,587
|
cumallover.me,mail.cock.li,993,mail.cock.li,587
|
||||||
cyberservices.com,imap.mail.com,993,smtp.mail.com,587
|
cyberservices.com,imap.mail.com,993,smtp.mail.com,587
|
||||||
datentopf.org,mail.datentopf.org,993,mail.datentopf.org,587
|
datentopf.org,imap.migadu.com,993,smtp.migadu.com,587
|
||||||
deliveryman.com,imap.mail.com,993,smtp.mail.com,587
|
deliveryman.com,imap.mail.com,993,smtp.mail.com,587
|
||||||
dicksinhisan.us,mail.cock.li,993,mail.cock.li,587
|
dicksinhisan.us,mail.cock.li,993,mail.cock.li,587
|
||||||
dicksinmyan.us,mail.cock.li,993,mail.cock.li,587
|
dicksinmyan.us,mail.cock.li,993,mail.cock.li,587
|
||||||
@ -129,7 +129,7 @@ hotmail.de,outlook.office365.com,993,smtp.office365.com,587
|
|||||||
hotmail.dk,outlook.office365.com,993,smtp.office365.com,587
|
hotmail.dk,outlook.office365.com,993,smtp.office365.com,587
|
||||||
hotmail.es,outlook.office365.com,993,smtp.office365.com,587
|
hotmail.es,outlook.office365.com,993,smtp.office365.com,587
|
||||||
hotmail.fi,outlook.office365.com,993,smtp.office365.com,587
|
hotmail.fi,outlook.office365.com,993,smtp.office365.com,587
|
||||||
hotmail.fr,imap-mail.outlook.com,993,smtp-mail.outlook.com,587
|
hotmail.fr,outlook.office365.com,993,smtp.office365.com,587
|
||||||
hotmail.gr,outlook.office365.com,993,smtp.office365.com,587
|
hotmail.gr,outlook.office365.com,993,smtp.office365.com,587
|
||||||
hotmail.hu,outlook.office365.com,993,smtp.office365.com,587
|
hotmail.hu,outlook.office365.com,993,smtp.office365.com,587
|
||||||
hotmail.it,outlook.office365.com,993,smtp.office365.com,587
|
hotmail.it,outlook.office365.com,993,smtp.office365.com,587
|
||||||
@ -143,6 +143,7 @@ hotmail.rs,outlook.office365.com,993,smtp.office365.com,587
|
|||||||
hotmail.se,outlook.office365.com,993,smtp.office365.com,587
|
hotmail.se,outlook.office365.com,993,smtp.office365.com,587
|
||||||
hotmail.sg,outlook.office365.com,993,smtp.office365.com,587
|
hotmail.sg,outlook.office365.com,993,smtp.office365.com,587
|
||||||
hotmail.sk,outlook.office365.com,993,smtp.office365.com,587
|
hotmail.sk,outlook.office365.com,993,smtp.office365.com,587
|
||||||
|
humbug.pw,imap.migadu.com,993,smtp.migadu.com,587
|
||||||
hushmail.com,imap.hushmail.com,993,smtp.hushmail.com,465
|
hushmail.com,imap.hushmail.com,993,smtp.hushmail.com,465
|
||||||
illinois.edu, imap.gmail.com,993,smtp.gmail.com,465
|
illinois.edu, imap.gmail.com,993,smtp.gmail.com,465
|
||||||
iname.com,imap.mail.com,993,smtp.mail.com,587
|
iname.com,imap.mail.com,993,smtp.mail.com,587
|
||||||
@ -170,6 +171,7 @@ mail.mcgill.ca,outlook.office365.com,993,smtp.office365.com,587
|
|||||||
mail.polimi.it,outlook.office365.com,993,smtp.office365.com,587
|
mail.polimi.it,outlook.office365.com,993,smtp.office365.com,587
|
||||||
mail.ru,imap.mail.ru,993,smtp.mail.ru,465
|
mail.ru,imap.mail.ru,993,smtp.mail.ru,465
|
||||||
mailbox.org,imap.mailbox.org,993,smtp.mailbox.org,587
|
mailbox.org,imap.mailbox.org,993,smtp.mailbox.org,587
|
||||||
|
mailbox.tu-dresden.de,msx.tu-dresden.de,993,msx.tu-dresden.de,587
|
||||||
mailo.com,mail.mailo.com,993,mail.mailo.com,465
|
mailo.com,mail.mailo.com,993,mail.mailo.com,465
|
||||||
memeware.net,mail.cock.li,993,mail.cock.li,587
|
memeware.net,mail.cock.li,993,mail.cock.li,587
|
||||||
ml1.net,imap.fastmail.com,993,smtp.fastmail.com,465
|
ml1.net,imap.fastmail.com,993,smtp.fastmail.com,465
|
||||||
@ -212,18 +214,20 @@ protonmail.ch,127.0.0.1,1143,127.0.0.1,1025
|
|||||||
protonmail.com,127.0.0.1,1143,127.0.0.1,1025
|
protonmail.com,127.0.0.1,1143,127.0.0.1,1025
|
||||||
rape.lol,mail.cock.li,993,mail.cock.li,587
|
rape.lol,mail.cock.li,993,mail.cock.li,587
|
||||||
redchan.it,mail.cock.li,993,mail.cock.li,587
|
redchan.it,mail.cock.li,993,mail.cock.li,587
|
||||||
|
resch.pw,imap.migadu.com,993,smtp.migadu.com,587
|
||||||
runbox.com,mail.runbox.com,993,mail.runbox.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
|
rwth-aachen.de,mail.rwth-aachen.de,993,mail.rwth-aachen.de,587
|
||||||
sapo.pt,imap.sapo.pt,993,smtp.sapo.pt,587
|
sapo.pt,imap.sapo.pt,993,smtp.sapo.pt,587
|
||||||
smail.inf.h-brs.de,imap.inf.h-brs.de,993,smtp.inf.h-brs.de,587
|
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
|
southwales.ac.uk,imap.gmail.com,993,smtp.gmail.com,587
|
||||||
spoko.pl,imap.poczta.onet.pl,993,smtp.poczta.onet.pl,465
|
spoko.pl,imap.poczta.onet.pl,993,smtp.poczta.onet.pl,465
|
||||||
stevens.edu,imap-mail.outlook.com,993,smpt-mail.outlook.com,587
|
stevens.edu,imap.outlook.com,993,smtp.outlook.com,587
|
||||||
stronzi.org,mail.autistici.org,993,smtp.autistici.org,465
|
stronzi.org,mail.autistici.org,993,smtp.autistici.org,465
|
||||||
stud.tu-darmstadt.de,imap.stud.tu-darmstadt.de,993,smtp.tu-darmstadt.de,465
|
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.uis.no,outlook.office365.com,993,smtp.office365.com,587
|
||||||
stud.uni-bamberg.de,outlook.office365.com,993,smtp.office365.com,587
|
stud.uni-bamberg.de,outlook.office365.com,993,smtp.office365.com,587
|
||||||
student.rmit.edu.au,outlook.office365.com,993,smtp.office365.com,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
|
||||||
students.southwales.ac.uk,imap.gmail.com,993,smtp.gmail.com,587
|
students.southwales.ac.uk,imap.gmail.com,993,smtp.gmail.com,587
|
||||||
studserv.uni-leipzig.de,studserv.uni-leipzig.de,993,studserv.uni-leipzig.de,25
|
studserv.uni-leipzig.de,studserv.uni-leipzig.de,993,studserv.uni-leipzig.de,25
|
||||||
subvertising.org,mail.autistici.org,993,smtp.autistici.org,465
|
subvertising.org,mail.autistici.org,993,smtp.autistici.org,465
|
||||||
@ -238,7 +242,6 @@ tlu.edu,imap-mail.outlook.com,993,smtp-mail.outlook.com,587
|
|||||||
tquad.ai,imap.mail.eu-west-1.awsapps.com,993,smtp.mail.eu-west-1.awsapps.com,465
|
tquad.ai,imap.mail.eu-west-1.awsapps.com,993,smtp.mail.eu-west-1.awsapps.com,465
|
||||||
tu-harburg.de,mail.tu-harburg.de,993,mail.tu-harburg.de,587
|
tu-harburg.de,mail.tu-harburg.de,993,mail.tu-harburg.de,587
|
||||||
tuhh.de,mail.tu-harburg.de,993,mail.tu-harburg.de,587
|
tuhh.de,mail.tu-harburg.de,993,mail.tu-harburg.de,587
|
||||||
tuwien.at,mail.student.tuwien.ac.at,993,mail.student.tuwien.ac.at,587
|
|
||||||
txstate.edu,outlook.office365.com,993,smtp.office365.com,587
|
txstate.edu,outlook.office365.com,993,smtp.office365.com,587
|
||||||
ua.pt,outlook.office365.com,993,mail.ua.pt,25
|
ua.pt,outlook.office365.com,993,mail.ua.pt,25
|
||||||
uach.mx,imap.gmail.com,993,smtp.gmail.com,587
|
uach.mx,imap.gmail.com,993,smtp.gmail.com,587
|
||||||
@ -259,6 +262,7 @@ wanadoo.fr,imap.orange.fr,993,smtp.orange.fr,465
|
|||||||
wants.dicksinhisan.us,mail.cock.li,993,mail.cock.li,587
|
wants.dicksinhisan.us,mail.cock.li,993,mail.cock.li,587
|
||||||
wants.dicksinmyan.us,mail.cock.li,993,mail.cock.li,587
|
wants.dicksinmyan.us,mail.cock.li,993,mail.cock.li,587
|
||||||
web.de,imap.web.de,993,smtp.web.de,587
|
web.de,imap.web.de,993,smtp.web.de,587
|
||||||
|
wit.edu,outlook.office365.com,993,smtp.office365.com,587
|
||||||
wp.pl,imap.wp.pl,993,smtp.wp.pl,465
|
wp.pl,imap.wp.pl,993,smtp.wp.pl,465
|
||||||
writeme.com,imap.mail.com,993,smtp.mail.com,587
|
writeme.com,imap.mail.com,993,smtp.mail.com,587
|
||||||
ya.ru,imap.yandex.com,993,smtp.yandex.com,587
|
ya.ru,imap.yandex.com,993,smtp.yandex.com,587
|
||||||
@ -272,3 +276,5 @@ yandex.net,imap.yandex.com,993,smtp.yandex.com,587
|
|||||||
yandex.ru,imap.yandex.com,993,smtp.yandex.com,587
|
yandex.ru,imap.yandex.com,993,smtp.yandex.com,587
|
||||||
yandex.ua,imap.yandex.com,993,smtp.yandex.com,587
|
yandex.ua,imap.yandex.com,993,smtp.yandex.com,587
|
||||||
zoho.com,imap.zoho.com,993,smtp.zoho.com,465
|
zoho.com,imap.zoho.com,993,smtp.zoho.com,465
|
||||||
|
polito.it,mail.polito.it,993,mail.polito.it,465
|
||||||
|
studio.unibo.it,outlook.office365.com,993,smtp.office365.com,587
|
||||||
|
|
@ -60,9 +60,9 @@ bind pager \031 previous-line # Mouse wheel
|
|||||||
bind pager \005 next-line # Mouse wheel
|
bind pager \005 next-line # Mouse wheel
|
||||||
bind editor <Tab> complete-query
|
bind editor <Tab> complete-query
|
||||||
|
|
||||||
macro index,pager a "|abook --add-email\n" 'add sender to abook'
|
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 \Cr "T~U<enter><tag-prefix><clear-flag>N<untag-pattern>.<enter>" "mark all messages as read"
|
||||||
macro index O "<shell-escape>mailsync -Va<enter>" "run offlineimap to sync all mail"
|
macro index O "<shell-escape>mailsync -Va<enter>" "run mbsync to sync all mail"
|
||||||
macro index \Cf "<enter-command>unset wait_key<enter><shell-escape>read -p 'Enter a search term to find with notmuch: ' 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 \Cf "<enter-command>unset wait_key<enter><shell-escape>read -p 'Enter a search term to find with notmuch: ' 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)"
|
macro index A "<limit>all\n" "show all messages (undo limit)"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user