* Run serverinfo query based on if proton or not * If domain is already protonmail don't ask if it is * Fix protonmail fingerprint extraction * Update docs re: protonmail bridge timing outtags/v3.1
| @@ -112,6 +112,7 @@ mutt-wizard is free/libre software, licensed under the GPLv3. | |||||
| ## 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. | - 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 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. | ||||
| @@ -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 | ||||
| } | } | ||||