diff options
Diffstat (limited to 'bin/mw')
| -rwxr-xr-x | bin/mw | 16 |
1 files changed, 10 insertions, 6 deletions
@@ -48,11 +48,15 @@ for x in "/etc/ssl/certs/ca-certificates.crt" \ done || { echo "CA Certificate not found. Please install one or link it to /etc/ssl/certs/ca-certificates.crt" && exit 1; } basicdir() { - mailboxes="$(printf "Archive\\nINBOX\\nDrafts\\nSent\\nJunk\\nTrash")" - maildirs="$(echo "$mailboxes" | sed "s/^/{/;s/$/}/" | paste -sd ',' -)" + mailboxes="$(printf "Archive\\nINBOX\\nDrafts\\nSent\\nSpam\\nJunk\\nTrash")" + maildirs="$(echo "$mailboxes" | sed "s/ /,/g")" contents="mailboxes $(echo "$mailboxes" | sed "s/^/\"=/;s/$/\"/;s/'/\\\'/g" | paste -sd ' ' -)" - for file in "$accdir/"*.muttrc; do - [ -f "$file" ] && grep -q "mailboxes" "$file" && sed -i "s/mailboxes.*/$contents/g" "$file" 2>/dev/null && mkdir -p "$maildir/${file##*/}/$maildirs" + for mailacc in "$accdir/"*.muttrc; do + acc="${mailacc##*/}" + [ -f "$acc" ] && grep -q "mailboxes" "$acc" && sed -i "s/mailboxes.*/$contents/g" "$mailacc" 2>/dev/null && + for dir in $maildirs; do + mkdir -p "$maildir/${acc%.*}/$dir" + done done } @@ -239,12 +243,12 @@ done; } getboxes() { if [ -n "${force+x}" ]; then - mailboxes="$(printf "Archive\\nINBOX\\nDrafts\\nSent\\nJunk\\nTrash")" + mailboxes="$(printf "Archive\\nINBOX\\nDrafts\\nSent\\nSpam\\nJunk\\nTrash")" else info="$(curl --location-trusted -s -m 5 --user "$login:$(pass "mail/$passprefix$fulladdr" | head -1)" --url "${protocol:-imaps}://$imap:${iport:-993}")" [ -z "$info" ] && errorexit unsorted_mailboxes="$(echo "$info" | grep -v HasChildren | sed "s/.*\" //;s/\"//g" | tr -d '\r')" - desired_order="Archive INBOX Drafts Sent Junk Trash" + desired_order="Archive INBOX Drafts Sent Spam Junk Trash" mailboxes="" for desired in $desired_order; do if echo "$unsorted_mailboxes" | grep -qx "$desired"; then |
