commit ef816c5c7ea7ae36effc6ead8c1bbe62249c9f18
parent 6e44eb50566004f654eacb53e748bb3ff753e31a
Author: Luke Smith <luke@lukesmith.xyz>
Date: Mon, 13 Feb 2023 19:31:13 -0500
offline mail cache fix and other tweaks
Diffstat:
4 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/bin/mw b/bin/mw
@@ -73,6 +73,7 @@ prepmutt() { mkdir -p "${muttrc%/*}" "$accdir"
}
getprofiles() { \
+ safename="$(echo $fulladdr | sed 's/@/_/g')"
case "$type" in
online)
folder="imaps://$login@$imap:$iport"
@@ -124,7 +125,7 @@ delete() { if [ -z "${fulladdr+x}" ]; then
sed -ibu "/account $fulladdr$/,/^\(\s*$\|account\)/d" "$msmtprc" 2>/dev/null; rm -f "$msmtprc"bu
sed -ibu "/account $fulladdr$/,/^\(\s*$\|account\)/d" "$mpoprc" 2>/dev/null; rm -f "$mpoprc"bu
pass rm -f "$passprefix$fulladdr" >/dev/null 2>&1
- [ -n "${purge+x}" ] && rm -rf "${maildir:?}/${fulladdr:?}"
+ [ -n "${purge+x}" ] && safename="$(echo $fulladdr | sed 's/@/_/g')" && rm -rf "${cachedir:?}/${safename:?}" "${maildir:?}/${fulladdr:?}"
}
askinfo() { \
@@ -199,6 +200,7 @@ getboxes() { if [ -n "${force+x}" ] ; then
finalize() { echo "$toappend" >> "$accdir/$fulladdr.muttrc"
[ "$type" != "online" ] && echo "$mailboxes" | xargs -I {} mkdir -p "$maildir/$fulladdr/{}/cur" "$maildir/$fulladdr/{}/tmp" "$maildir/$fulladdr/{}/new"
+ mkdir -p "$cachedir/$safename/bodies"
echo "$fulladdr (account #$idnum) added successfully."
command -V urlview >/dev/null 2>&1 && [ ! -f "$HOME/.urlview" ] && echo "COMMAND \$BROWSER" > "$HOME/.urlview"
return 0 ;}
@@ -236,8 +238,6 @@ Main actions:
-l List email addresses configured
-d Remove an already added address
-D your@email.com Force remove account without confirmation
- -y your@email.com Sync mail for account by name
- -Y Sync mail for all accounts
-t number Toggle automatic mailsync every <number> minutes
-T Toggle automatic mailsync
-r Reorder account numbers
@@ -250,8 +250,8 @@ Options allowed with -a:
-s SMTP server address
-S SMTP server port
-x Password for account (recommended to be in double quotes)
- -P Pass Prefix (prefix of the file where password is stored)
-p Add for a POP server instead of IMAP.
+ -P Pass Prefix (prefix of the file where password is stored)
-X Delete an account's local email too when deleting.
-o Configure address, but keep mail online.
-f Assume typical English mailboxes without attempting log-on.
diff --git a/share/mpop-temp b/share/mpop-temp
@@ -2,5 +2,7 @@ account $fulladdr
tls on
user $login
host $imap
+port $iport
+timeout 10
delivery maildir $maildir/$fulladdr/INBOX
passwordeval pass $passprefix$fulladdr
diff --git a/share/mutt-temp b/share/mutt-temp
@@ -5,8 +5,8 @@ set from = "$fulladdr"
set sendmail = "msmtp -a $fulladdr"
alias me $realname <$fulladdr>
set folder = "$folder"
-set header_cache = $cachedir/$fulladdr/headers
-set message_cachedir = $cachedir/$fulladdr/bodies
+set header_cache = "$cachedir/$safename/headers"
+set message_cachedir = "$cachedir/$safename/bodies"
set mbox_type = Maildir
set hostname = "$hostname"
source $muttshare/switch.muttrc
@@ -16,5 +16,3 @@ set trash = "+Trash"
set record = "+Sent"
$extra
macro index o "<shell-escape>mailsync $fulladdr<enter>" "sync $fulladdr"
-macro index \eg "<enter-command>unset wait_key<enter><shell-escape>gpg --list-secret-keys; printf 'Enter email ID of user to publish: '; read eID; printf 'Enter fingerprint of GPG key to publish: '; read eFGPT; $prefix/libexec/gpg-wks-client --create \\\$eFGPT \\\$eID | msmtp --read-envelope-from --read-recipients -a $fulladdr<enter>" "publish GPG key to WKS provider"
-macro index \eh "<pipe-message>$prefix/libexec/gpg-wks-client --receive | msmtp --read-envelope-from --read-recipients -a $fulladdr<enter>" "confirm GPG publication"
diff --git a/share/mutt-wizard.muttrc b/share/mutt-wizard.muttrc
@@ -95,6 +95,8 @@ macro index,pager Ca ";<copy-message>=Archive<enter>" "copy mail to archive"
#set crypt_opportunistic_encrypt = yes
#set pgp_self_encrypt = yes
#set pgp_default_key = 'your@gpgemailaddre.ss'
+macro index \eg "<enter-command>unset wait_key<enter><shell-escape>gpg --list-secret-keys; printf 'Enter email ID of user to publish: '; read eID; printf 'Enter fingerprint of GPG key to publish: '; read eFGPT; $prefix/libexec/gpg-wks-client --create \\\$eFGPT \\\$eID | msmtp --read-envelope-from --read-recipients -a $fulladdr<enter>" "publish GPG key to WKS provider"
+macro index \eh "<pipe-message>$prefix/libexec/gpg-wks-client --receive | msmtp --read-envelope-from --read-recipients -a $fulladdr<enter>" "confirm GPG publication"
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"