Protonmail Config Fixes (#313)
* 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 out
This commit is contained in:
		@@ -112,6 +112,7 @@ mutt-wizard is free/libre software, licensed under the GPLv3.
 | 
			
		||||
## 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.
 | 
			
		||||
- 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.
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										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
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user