mutt-wizard

fork of Luke Smiths mutt-wizard
git clone git://git.jakekoroman.com/mutt-wizard
Log | Files | Refs | README | LICENSE

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:
Mbin/mw | 8++++----
Mshare/mpop-temp | 2++
Mshare/mutt-temp | 6++----
Mshare/mutt-wizard.muttrc | 2++
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"