summaryrefslogtreecommitdiff
path: root/bin/mw
diff options
context:
space:
mode:
authorLuke Smith <luke@lukesmith.xyz>2023-01-05 12:45:35 -0500
committerLuke Smith <luke@lukesmith.xyz>2023-01-05 12:45:35 -0500
commit6b35770ca05fd303f2b97eafa7d31b68ed116f8e (patch)
treed3fdb107df704ab3f65eecb7e25e6a1326a37af1 /bin/mw
parent79ce5f9f793f1eda66944ba51c2692baf93051d2 (diff)
error messaging
Diffstat (limited to 'bin/mw')
-rwxr-xr-xbin/mw17
1 files changed, 16 insertions, 1 deletions
diff --git a/bin/mw b/bin/mw
index 2ab0a68..96cf327 100755
--- a/bin/mw
+++ b/bin/mw
@@ -214,6 +214,21 @@ createpass() { echo "$password" > "$PASSWORD_STORE_DIR/$passprefix$fulladdr"
"$GPG" -qe $(printf -- " -r %s" $(cat "$PASSWORD_STORE_DIR/.gpg-id")) "$PASSWORD_STORE_DIR/$passprefix$fulladdr"
rm -f "$PASSWORD_STORE_DIR/$passprefix$fulladdr" ;}
+errorexit() {
+ echo "Log-on not successful."
+ case "$imap" in
+ imap.gmail.com)
+ echo "This account with $service is using Google's Gmail servers, which disable all third-party applications without an application-specific password.
+Please be sure you are using OAUTH with your Gmail account, or better yet, stop using Gmail."
+ ;;
+ imap.mail.me.com)
+ echo "This account with $service is using Apple's iCloud servers, which disable all non-Apple applications by default.
+Please be sure you either enable third-party applications, or create an app-specific password, or best of all, stop using Apple."
+ ;;
+ esac
+ exit 1
+ }
+
getpass() { while : ; do pass rm -f "$passprefix$fulladdr" >/dev/null 2>&1
pass insert -f "$passprefix$fulladdr" && break; done ;}
@@ -221,7 +236,7 @@ getboxes() { if [ -n "${force+x}" ] ; then
mailboxes="$(printf "INBOX\\nDrafts\\nJunk\\nTrash\\nSent\\nArchive")"
else
info="$(curl --location-trusted -s -m 5 --user "$login:$(pass "$passprefix$fulladdr")" --url "${protocol:-imaps}://$imap:${iport:-993}")"
- [ -z "$info" ] && echo "Log-on not successful." && return 1
+ [ -z "$info" ] && errorexit
mailboxes="$(echo "$info" | grep -v HasChildren | sed "s/.*\" //;s/\"//g" | tr -d '\r')"
fi
[ "$type" = "pop" ] && mailboxes="INBOX"