Merge branch 'master' of github.com:LukeSmithxyz/mutt-wizard
This commit is contained in:
		
							
								
								
									
										1
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								Makefile
									
									
									
									
									
								
							| @@ -30,5 +30,6 @@ uninstall: | ||||
| 		rm -f $(DESTDIR)$(PREFIX)/bin/$$script; \ | ||||
| 	done | ||||
| 	rm -rf $(DESTDIR)$(PREFIX)/share/mutt-wizard | ||||
| 	rm -f $(DESTDIR)$(MANPREFIX)/man1/mw.1 | ||||
|  | ||||
| .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. | ||||
|  | ||||
| ## Watch out for these things: | ||||
|  | ||||
| - 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. | ||||
| - 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. | ||||
| - 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. | ||||
|  - `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. | ||||
|  | ||||
| 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 | ||||
| [ -d "$HOME/.local/share/password-store" ] && export PASSWORD_STORE_DIR="$HOME/.local/share/password-store" | ||||
|  | ||||
| # 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 | ||||
| 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" | ||||
| 	done | ||||
| 	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" | ||||
| 	serverinfo="$(grep "^$domain" "$muttshare/domains.csv" 2>/dev/null)" | ||||
| 	serverinfo="$(grep "^$search_query" "$muttshare/domains.csv" 2>/dev/null)" | ||||
| 	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 "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" | ||||
| 	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 | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -60,7 +60,7 @@ counsellor.com,imap.mail.com,993,smtp.mail.com,587 | ||||
| cryptolab.net,mail.autistici.org,993,smtp.autistici.org,465 | ||||
| cumallover.me,mail.cock.li,993,mail.cock.li,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 | ||||
| dicksinhisan.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.es,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.hu,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.sg,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 | ||||
| illinois.edu, imap.gmail.com,993,smtp.gmail.com,465 | ||||
| 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.ru,imap.mail.ru,993,smtp.mail.ru,465 | ||||
| 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 | ||||
| memeware.net,mail.cock.li,993,mail.cock.li,587 | ||||
| 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 | ||||
| rape.lol,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 | ||||
| rwth-aachen.de,mail.rwth-aachen.de,993,mail.rwth-aachen.de,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 | ||||
| southwales.ac.uk,imap.gmail.com,993,smtp.gmail.com,587 | ||||
| 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 | ||||
| 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 | ||||
| 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 | ||||
| studserv.uni-leipzig.de,studserv.uni-leipzig.de,993,studserv.uni-leipzig.de,25 | ||||
| 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 | ||||
| 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 | ||||
| tuwien.at,mail.student.tuwien.ac.at,993,mail.student.tuwien.ac.at,587 | ||||
| txstate.edu,outlook.office365.com,993,smtp.office365.com,587 | ||||
| ua.pt,outlook.office365.com,993,mail.ua.pt,25 | ||||
| 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.dicksinmyan.us,mail.cock.li,993,mail.cock.li,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 | ||||
| writeme.com,imap.mail.com,993,smtp.mail.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.ua,imap.yandex.com,993,smtp.yandex.com,587 | ||||
| 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 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 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 A "<limit>all\n" "show all messages (undo limit)" | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user