From eec5c1dd5e9920c1729c8b7a4069f286d4cd3469 Mon Sep 17 00:00:00 2001 From: Sean Breckenridge Date: Sun, 9 May 2021 17:07:20 -0700 Subject: [PATCH 01/25] update domain list add mac alternative domains (@mac.com/@me.com) these are legacy domains that mac used to use which have been merged into icloud for more info see: https://support.apple.com/en-us/HT201771 https://getmailspring.com/setup/access-mac-com-via-imap-smtp also add ucsc.edu, which like the other uc's uses google --- share/domains.csv | 3 +++ 1 file changed, 3 insertions(+) diff --git a/share/domains.csv b/share/domains.csv index b8b0cde..c72e713 100644 --- a/share/domains.csv +++ b/share/domains.csv @@ -156,6 +156,7 @@ loves.dicksinhisan.us,mail.cock.li,993,mail.cock.li,587 loves.dicksinmyan.us,mail.cock.li,993,mail.cock.li,587 lukesmith.xyz,mail.lukesmith.xyz,993,mail.lukesmith.xyz,587 luther.edu,imap.gmail.com,993,smtp.gmail.com,587 +mac.com,imap.mail.me.com,993,smtp.mail.me.com,587 mail.com,imap.mail.com,993,smtp.mail.com,587 mail.de,imap.mail.de,993,smtp.mail.de,465 mail.mcgill.ca,outlook.office365.com,993,smtp.office365.com,587 @@ -167,6 +168,7 @@ mailbox.tu-dresden.de,msx.tu-dresden.de,993,msx.tu-dresden.de,587 mailfence.com,imap.mailfence.com,993,smtp.mailfence.com,465 mailo.com,mail.mailo.com,993,mail.mailo.com,465 marquette.edu,outlook.office365.com,993,smtp.office365.com,587 +me.com,imap.mail.me.com,993,smtp.mail.me.com,587 memeware.net,mail.cock.li,993,mail.cock.li,587 metu.edu.tr,imap.metu.edu.tr,993,smtp.metu.edu.tr,465 mit.edu,imap.exchange.mit.edu,993,outgoing.mit.edu,465 @@ -276,6 +278,7 @@ ua.pt,outlook.office365.com,993,mail.ua.pt,25 uach.mx,imap.gmail.com,993,smtp.gmail.com,587 ucdavis.edu,imap.gmail.com,993,smtp.gmail.com,587 ucsb.edu,imap.gmail.com,993,smtp.gmail.com,587 +ucsc.edu,imap.gmail.com,993,smtp.gmail.com,587 uni.strath.ac.uk,outlook.office365.com,993,smtp.office365.com,587 uni-duesseldorf.de,mail.hhu.de,993,mail.hhu.de,465 uni-jena.de,imap.uni-jena.de,993,smtp.uni-jena.de,587 From 8c71c10b0a8066cf0dc6bc5e0c5583eaddbb5441 Mon Sep 17 00:00:00 2001 From: pierre Date: Tue, 25 May 2021 16:05:16 -0400 Subject: [PATCH 02/25] password store with multiple private keys fix --- bin/mw | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/bin/mw b/bin/mw index 54af276..92e539c 100755 --- a/bin/mw +++ b/bin/mw @@ -18,8 +18,7 @@ done || { echo "CA Certificate not found. Please install one or link it to /etc/ checkbasics() { command -V gpg >/dev/null 2>&1 && GPG="gpg" || GPG="gpg2" PASSWORD_STORE_DIR="${PASSWORD_STORE_DIR:-$HOME/.password-store}" - [ -r "$PASSWORD_STORE_DIR/.gpg-id" ] && - "$GPG" --list-secret-keys "$(cat "$PASSWORD_STORE_DIR/.gpg-id")" >/dev/null 2>&1 || { + [ -r "$PASSWORD_STORE_DIR/.gpg-id" ] || { echo "First run \`pass init \` to set up a password archive." echo "(If you don't already have a GPG key pair, first run \`$GPG --full-generate-key\`.)" exit 1 ;} ;} @@ -204,7 +203,7 @@ askinfo() { \ } createpass() { echo "$password" > "$PASSWORD_STORE_DIR/$fulladdr" - "$GPG" -qer "$(cat "$PASSWORD_STORE_DIR/.gpg-id")" "$PASSWORD_STORE_DIR/$fulladdr" + "$GPG" -qe $(printf -- " -r %s" $(cat "$PASSWORD_STORE_DIR/.gpg-id")) "$PASSWORD_STORE_DIR/$fulladdr" rm -f "$PASSWORD_STORE_DIR/$fulladdr" ;} getpass() { while : ; do pass rm -f "$fulladdr" >/dev/null 2>&1 From 36788d9c439729f97edda2aba75bf477f029dca2 Mon Sep 17 00:00:00 2001 From: Luke Smith Date: Sun, 30 May 2021 21:21:31 -0400 Subject: [PATCH 03/25] don't readlink for soystemd on mac --- bin/mailsync | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bin/mailsync b/bin/mailsync index af7aa6c..f739584 100755 --- a/bin/mailsync +++ b/bin/mailsync @@ -25,9 +25,6 @@ eval "$(grep -h -- \ "$HOME/.profile" "$HOME/.bash_profile" "$HOME/.zprofile" "$HOME/.config/zsh/.zprofile" "$HOME/.zshenv" \ "$HOME/.bashrc" "$HOME/.zshrc" "$HOME/.config/zsh/.zshrc" "$HOME/.pam_environment" 2>/dev/null)" -case "$(readlink -f /sbin/init)" in - *systemd*) export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u)/bus ;; -esac export GPG_TTY=$TTY [ -n "$MBSYNCRC" ] && alias mbsync="mbsync -c $MBSYNCRC" || MBSYNCRC="$HOME/.mbsyncrc" @@ -39,6 +36,9 @@ case "$(uname)" in messageinfo() { osascript -e "display notification with title \"📧 $from\" subtitle \"$subject\"" ;} ;; *) + case "$(readlink -f /sbin/init)" in + *systemd*) export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u)/bus ;; + esac # remember if a display server is running since `ps` doesn't always contain a display pgrepoutput="$(pgrep -a X\(org\|wayland\))" displays="$(echo "$pgrepoutput" | grep -wo "[0-9]*:[0-9]\+" | sort -u)" From b9a95a055a5737c7765c2d21451d504c9818ba80 Mon Sep 17 00:00:00 2001 From: Kr1ss Date: Tue, 15 Jun 2021 20:14:18 +0200 Subject: [PATCH 04/25] patch mailsync on macOS; fixes #725 The macOS version of `pidof` doesn't implement the `-s` flag. --- bin/mailsync | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/mailsync b/bin/mailsync index f739584..a026354 100755 --- a/bin/mailsync +++ b/bin/mailsync @@ -14,7 +14,7 @@ # Run only if user logged in (prevent cron errors) pgrep -u "${USER:=$LOGNAME}" >/dev/null || { echo "$USER not logged in; sync will not run."; exit ;} # Run only if not already running in other instance -pidof -s mbsync >/dev/null && { echo "mbsync is already running." ; exit ;} +pidof $([ $(uname) != Darwin ] && echo '-s') mbsync >/dev/null && { echo "mbsync is already running."; exit ;} # First, we have to get the right variables for the mbsync file, the pass # archive, notmuch and the GPG home. This is done by searching common profile From b0452a39d5b573a9a12da0064c0341846ba8ff5d Mon Sep 17 00:00:00 2001 From: Kr1ss Date: Tue, 15 Jun 2021 22:08:30 +0200 Subject: [PATCH 05/25] remove `pidof -s` flag Ref: https://github.com/LukeSmithxyz/mutt-wizard/commit/b9a95a055a5737c7765c2d21451d504c9818ba80#commitcomment-52203708 --- bin/mailsync | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/mailsync b/bin/mailsync index a026354..f00baf1 100755 --- a/bin/mailsync +++ b/bin/mailsync @@ -14,7 +14,7 @@ # Run only if user logged in (prevent cron errors) pgrep -u "${USER:=$LOGNAME}" >/dev/null || { echo "$USER not logged in; sync will not run."; exit ;} # Run only if not already running in other instance -pidof $([ $(uname) != Darwin ] && echo '-s') mbsync >/dev/null && { echo "mbsync is already running."; exit ;} +pidof mbsync >/dev/null && { echo "mbsync is already running."; exit ;} # First, we have to get the right variables for the mbsync file, the pass # archive, notmuch and the GPG home. This is done by searching common profile From f92000e5ed8d393de8f02093afebdb5ab69a1861 Mon Sep 17 00:00:00 2001 From: Luke Smith Date: Mon, 28 Jun 2021 10:25:41 -0400 Subject: [PATCH 06/25] fix #730, sed only nl removal with error sup --- bin/mw | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/bin/mw b/bin/mw index 54af276..d960b7b 100755 --- a/bin/mw +++ b/bin/mw @@ -172,10 +172,8 @@ delete() { if [ -z "${fulladdr+x}" ]; then pass rm -f "$fulladdr" >/dev/null 2>&1 [ -n "${purge+x}" ] && rm -rf "${maildir:?}/${fulladdr:?}" - # Get rid of those multiple newlines because I don't know awk well enough to do it by default lol. for file in "$msmtprc" "$mbsyncrc" "$mpoprc"; do - tr '\n' '|' 2>/dev/null < "$file" | sed "s/||\+/||/g" | tr '|' '\n' >> "$file"bu - mv -f "$file"bu "$file" + sed -ibu 'N;/^\n$/D;P;D;' "$file" 2>/dev/null; rm -f "$file"bu done } From 8171e6327c2c1b4088da441ced4186d0934bc888 Mon Sep 17 00:00:00 2001 From: phire Date: Thu, 8 Jul 2021 01:38:41 +0200 Subject: [PATCH 07/25] Set hostname variable --- bin/mw | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bin/mw b/bin/mw index d960b7b..0fd01d8 100755 --- a/bin/mw +++ b/bin/mw @@ -91,6 +91,7 @@ set folder = \"$folder\" set header_cache = $cachedir/$fulladdr/headers set message_cachedir = $cachedir/$fulladdr/bodies set mbox_type = Maildir +set hostname = \"$hostname\" $extra bind index,pager gg noop @@ -193,6 +194,7 @@ askinfo() { \ read -r smtp [ "$sport" = 465 ] && tlsline="tls_starttls off" [ -z "$realname" ] && realname="${fulladdr%%@*}" + hostname="$(echo "$fulladdr" | cut -d @ -f 2)" login="${login:-$fulladdr}" if [ -n "${password+x}" ]; then createpass From 8dd99232806ad038bb060e71354d1a861d74f3b0 Mon Sep 17 00:00:00 2001 From: Sean Brar <69971174+seanbrar@users.noreply.github.com> Date: Fri, 9 Jul 2021 04:49:41 -0700 Subject: [PATCH 08/25] Add calstatela.edu to domains.csv --- share/domains.csv | 1 + 1 file changed, 1 insertion(+) diff --git a/share/domains.csv b/share/domains.csv index c72e713..f0d8399 100644 --- a/share/domains.csv +++ b/share/domains.csv @@ -43,6 +43,7 @@ bocken.org,mail.bocken.org,993,mail.bocken.org,587 brew-meister.com,imap.mail.com,993,smtp.mail.com,587 bruttocarattere.org,mail.autistici.org,993,smtp.autistici.org,465 btinternet.com,mail.btinternet.com,993,mail.btinternet.com,587 +calstatela.edu,outlook.office365.com,993,smtp.office365.com,587 canaglie.net,mail.autistici.org,993,smtp.autistici.org,465 canaglie.org,mail.autistici.org,993,smtp.autistici.org,465 carleton.ca,imap-mail.outlook.com,993,smtp-mail.outlook.com,587 From b8736f6a8582ae6d2f1467f6bec19dab3e929573 Mon Sep 17 00:00:00 2001 From: 3nt3 Date: Wed, 4 Aug 2021 23:29:00 +0200 Subject: [PATCH 09/25] update domains.csv to add 3nt3.de --- share/domains.csv | 1 + 1 file changed, 1 insertion(+) diff --git a/share/domains.csv b/share/domains.csv index c72e713..e8cce57 100644 --- a/share/domains.csv +++ b/share/domains.csv @@ -317,3 +317,4 @@ zaclys.net,mail.zaclys.net,993,mail.zaclys.net,465 zju.edu.cn,imap.zju.edu.cn,993,smtp.zju.edu.cn,994 zoho.com,imap.zoho.com,993,smtp.zoho.com,465 zohomail.eu,imap.zoho.eu,993,smtp.zoho.eu,465 +3nt3.de,mail.3nt3.de,993,mail.3nt3.de,465 From 8e5bb8bd095aaf9cb42997c243c4d4dc47f588a9 Mon Sep 17 00:00:00 2001 From: ananthu Date: Sat, 7 Aug 2021 14:14:15 +0530 Subject: [PATCH 10/25] bug; argument getting splitted by space --- bin/mw | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bin/mw b/bin/mw index 0fd01d8..2e38cde 100755 --- a/bin/mw +++ b/bin/mw @@ -228,6 +228,7 @@ getboxes() { if [ -n "${force+x}" ] ; then [ "$type" = "pop" ] && mailboxes="INBOX" getaccounts; for x in $(seq 1 9); do echo "$accounts" | grep -q "^$x:" || { export idnum="$x"; break ;}; done toappend="mailboxes $(echo "$mailboxes" | sed "s/^/\"=/;s/$/\"/" | paste -sd ' ' - )" + IFS=$'\n' for x in $mailboxes; do case "$x" in *[Ss][Ee][Nn][Tt]*) setBox record "$x"; formatShortcut s sent "$x" ;; @@ -239,6 +240,7 @@ getboxes() { if [ -n "${force+x}" ] ; then *[Ii][Nn][Bb][Oo][Xx]) formatShortcut i inbox "$x"; setBox spoolfile "$x" inbox="$x" ;; esac done + unset IFS } finalize() { echo "$toappend" >> "$accdir/$idnum-$fulladdr.muttrc" From 852cacce7a77630bc4b8c8a2ef0ce6b3f5de44a0 Mon Sep 17 00:00:00 2001 From: ananthu Date: Sat, 7 Aug 2021 14:14:51 +0530 Subject: [PATCH 11/25] enhancement; added college domain --- share/domains.csv | 1 + 1 file changed, 1 insertion(+) diff --git a/share/domains.csv b/share/domains.csv index e8cce57..a7135bd 100644 --- a/share/domains.csv +++ b/share/domains.csv @@ -157,6 +157,7 @@ loves.dicksinmyan.us,mail.cock.li,993,mail.cock.li,587 lukesmith.xyz,mail.lukesmith.xyz,993,mail.lukesmith.xyz,587 luther.edu,imap.gmail.com,993,smtp.gmail.com,587 mac.com,imap.mail.me.com,993,smtp.mail.me.com,587 +mace.ac.in,imap.gmail.com,993,smtp.gmail.com,465 mail.com,imap.mail.com,993,smtp.mail.com,587 mail.de,imap.mail.de,993,smtp.mail.de,465 mail.mcgill.ca,outlook.office365.com,993,smtp.office365.com,587 From 99c0466a3495a6b064b84ed47f15919f10650ee2 Mon Sep 17 00:00:00 2001 From: Ananthu Date: Sat, 7 Aug 2021 14:40:28 +0530 Subject: [PATCH 12/25] enhancement; college domain smtp port change --- share/domains.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/domains.csv b/share/domains.csv index a7135bd..618ee09 100644 --- a/share/domains.csv +++ b/share/domains.csv @@ -157,7 +157,7 @@ loves.dicksinmyan.us,mail.cock.li,993,mail.cock.li,587 lukesmith.xyz,mail.lukesmith.xyz,993,mail.lukesmith.xyz,587 luther.edu,imap.gmail.com,993,smtp.gmail.com,587 mac.com,imap.mail.me.com,993,smtp.mail.me.com,587 -mace.ac.in,imap.gmail.com,993,smtp.gmail.com,465 +mace.ac.in,imap.gmail.com,993,smtp.gmail.com,587 mail.com,imap.mail.com,993,smtp.mail.com,587 mail.de,imap.mail.de,993,smtp.mail.de,465 mail.mcgill.ca,outlook.office365.com,993,smtp.office365.com,587 From 8239a7d5ca6807d395f787c8c940a08301eb61d7 Mon Sep 17 00:00:00 2001 From: Luke Smith Date: Mon, 9 Aug 2021 20:52:19 -0400 Subject: [PATCH 13/25] remove bashism, fix #752 --- bin/mw | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bin/mw b/bin/mw index 2e38cde..41977b1 100755 --- a/bin/mw +++ b/bin/mw @@ -182,7 +182,7 @@ askinfo() { \ [ -z "$fulladdr" ] && echo "Give the full email address to add:" && read -r fulladdr while ! echo "$fulladdr" | grep -qE "^.+@.+\.[A-Za-z]+$"; do - echo "\`$fulladdr\` is not a valid email address. Please retype the address:" + echo "$fulladdr is not a valid email address. Please retype the address:" read -r fulladdr done getaccounts; echo "$accounts" | grep -q "\s$fulladdr$" 2>/dev/null && @@ -228,7 +228,8 @@ getboxes() { if [ -n "${force+x}" ] ; then [ "$type" = "pop" ] && mailboxes="INBOX" getaccounts; for x in $(seq 1 9); do echo "$accounts" | grep -q "^$x:" || { export idnum="$x"; break ;}; done toappend="mailboxes $(echo "$mailboxes" | sed "s/^/\"=/;s/$/\"/" | paste -sd ' ' - )" - IFS=$'\n' + IFS=' +' for x in $mailboxes; do case "$x" in *[Ss][Ee][Nn][Tt]*) setBox record "$x"; formatShortcut s sent "$x" ;; From d2942f2d22f4090fa3abc8d1f8eb2377fac0a7ba Mon Sep 17 00:00:00 2001 From: Luke Smith Date: Fri, 13 Aug 2021 14:19:05 -0400 Subject: [PATCH 14/25] sort --- share/domains.csv | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/share/domains.csv b/share/domains.csv index 618ee09..6b23434 100644 --- a/share/domains.csv +++ b/share/domains.csv @@ -1,6 +1,7 @@ ADDRESS,IMAP,imap port,SMTP,smtp port 126.com,imap.126.com,993,smtp.126.com,587 163.com,imap.163.com,993,smtp.163.com,587 +3nt3.de,mail.3nt3.de,993,mail.3nt3.de,465 420blaze.it,mail.cock.li,993,mail.cock.li,587 8chan.co,mail.cock.li,993,mail.cock.li,587 aaathats3as.com,mail.cock.li,993,mail.cock.li,587 @@ -205,8 +206,8 @@ outlook.*,imap-mail.outlook.com,993,smtp-mail.outlook.com,587 outlook.es,outlook.office365.com,993,smtp.office365.com,587 parabolas.xyz,mail.parabolas.xyz,993,mail.parabolas.xyz,587 paranoici.org,mail.autistici.org,993,smtp.autistici.org,465 -paranoid.network,imap.nixnet.email,143,smtp.nixnet.email,587 paranoid.email,imap.paranoid.email,993,smtp.paranoid.email,25 +paranoid.network,imap.nixnet.email,143,smtp.nixnet.email,587 pm.me,127.0.0.1,1143,127.0.0.1,1025 poczta.fm,poczta.interia.pl,993,poczta.interia.pl,465 poczta.onet.pl,imap.poczta.onet.pl,993,smtp.poczta.onet.pl,465 @@ -280,9 +281,9 @@ uach.mx,imap.gmail.com,993,smtp.gmail.com,587 ucdavis.edu,imap.gmail.com,993,smtp.gmail.com,587 ucsb.edu,imap.gmail.com,993,smtp.gmail.com,587 ucsc.edu,imap.gmail.com,993,smtp.gmail.com,587 -uni.strath.ac.uk,outlook.office365.com,993,smtp.office365.com,587 uni-duesseldorf.de,mail.hhu.de,993,mail.hhu.de,465 uni-jena.de,imap.uni-jena.de,993,smtp.uni-jena.de,587 +uni.strath.ac.uk,outlook.office365.com,993,smtp.office365.com,587 unilodz.eu,outlook.office365.com,993,smtp.office365.com,587 unitn.it,imap.gmail.com,993,smtp.gmail.com,587 unitybox.de,mail.unity-mail.de,993,mail.unity-mail.de,587 @@ -318,4 +319,3 @@ zaclys.net,mail.zaclys.net,993,mail.zaclys.net,465 zju.edu.cn,imap.zju.edu.cn,993,smtp.zju.edu.cn,994 zoho.com,imap.zoho.com,993,smtp.zoho.com,465 zohomail.eu,imap.zoho.eu,993,smtp.zoho.eu,465 -3nt3.de,mail.3nt3.de,993,mail.3nt3.de,465 From fb68f19846141df5ff5c6b8c4f15f589b0f5000f Mon Sep 17 00:00:00 2001 From: Luke Smith Date: Sat, 14 Aug 2021 18:50:33 -0400 Subject: [PATCH 15/25] use soyterms if not slower distro --- bin/mw | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/bin/mw b/bin/mw index 41977b1..87ec79c 100755 --- a/bin/mw +++ b/bin/mw @@ -12,7 +12,18 @@ mbsyncrc="${MBSYNCRC:-$HOME/.mbsyncrc}" mpoprc="${XDG_CONFIG_HOME:-$HOME/.config}/mpop/config" alias mbsync='mbsync -c "$mbsyncrc"' -for x in "/etc/ssl/certs/ca-certificates.crt" "/etc/pki/tls/certs/ca-bundle.crt" "/etc/ssl/ca-bundle.pem" "/etc/pki/tls/cacert.pem" "/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem" "/etc/ssl/cert.pem" "/usr/local/share/ca-certificates/"; do +# On Ubuntu/Debian, a link is needed since they use an older version. +if command -V apt-get >/dev/null 2>&1; then + ln -s "$msmtprc" "$HOME/.msmtprc" 2>/dev/null + master="Master" + slave="Slave" +fi + +for x in "/etc/ssl/certs/ca-certificates.crt" \ + "/etc/pki/tls/certs/ca-bundle.crt" "/etc/ssl/cert.pem" \ + "/etc/ssl/ca-bundle.pem" "/etc/pki/tls/cacert.pem" \ + "/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem" \ + "/usr/local/share/ca-certificates/"; do [ -f "$x" ] && sslcert="$x" && break done || { echo "CA Certificate not found. Please install one or link it to /etc/ssl/certs/ca-certificates.crt" && exit 1 ;} @@ -39,8 +50,6 @@ ${tlsline:-tls on} tls_trust_file $sslcert logfile $msmtplog " >> "$msmtprc" - # On Ubuntu/Debian, a link is needed since they use an older version. - command -V apt-get >/dev/null 2>&1 && ln -s "$msmtprc" "$HOME/.msmtprc" 2>/dev/null } prepmbsync() { mkdir -p "${mbsyncrc%/*}" @@ -61,8 +70,8 @@ Inbox ${XDG_DATA_HOME:-$HOME/.local/share}/mail/$fulladdr/${inbox:-INBOX} Channel $fulladdr Expunge Both -Master :$fulladdr-remote: -Slave :$fulladdr-local: +${master:-Far} :$fulladdr-remote: +${slave:-Near} :$fulladdr-local: Patterns * !\"[Gmail]/All Mail\" Create Both SyncState * From 3ef2b112459ce7101a6ee881cb478ff68647871e Mon Sep 17 00:00:00 2001 From: Hudson Finn Date: Mon, 16 Aug 2021 19:54:23 -0400 Subject: [PATCH 16/25] Update domains.csv --- share/domains.csv | 1 + 1 file changed, 1 insertion(+) diff --git a/share/domains.csv b/share/domains.csv index 6b23434..0cb7026 100644 --- a/share/domains.csv +++ b/share/domains.csv @@ -1,4 +1,5 @@ ADDRESS,IMAP,imap port,SMTP,smtp port +gordon.edu,outlook.office365.com,993,smtp.office365.com,587 126.com,imap.126.com,993,smtp.126.com,587 163.com,imap.163.com,993,smtp.163.com,587 3nt3.de,mail.3nt3.de,993,mail.3nt3.de,465 From 2ef58a8e432a6668bac825adfa742c57cb97a942 Mon Sep 17 00:00:00 2001 From: Benjamin-Davies Date: Mon, 23 Aug 2021 17:36:20 +1200 Subject: [PATCH 17/25] Add uclive.ac.nz domains Add domains for uclive.ac.nz addresses. These are undergrad (and maybe other) addresses for the University of Canterbury (https://canterbury.ac.nz/). --- share/domains.csv | 1 + 1 file changed, 1 insertion(+) diff --git a/share/domains.csv b/share/domains.csv index 292e05c..8ad855d 100644 --- a/share/domains.csv +++ b/share/domains.csv @@ -281,6 +281,7 @@ txstate.edu,outlook.office365.com,993,smtp.office365.com,587 ua.pt,outlook.office365.com,993,mail.ua.pt,25 uach.mx,imap.gmail.com,993,smtp.gmail.com,587 ucdavis.edu,imap.gmail.com,993,smtp.gmail.com,587 +uclive.ac.nz,outlook.office365.com,993,smtp.office365.com,587 ucsb.edu,imap.gmail.com,993,smtp.gmail.com,587 ucsc.edu,imap.gmail.com,993,smtp.gmail.com,587 uni-duesseldorf.de,mail.hhu.de,993,mail.hhu.de,465 From bd8551163ead2720fd3d3579f64f8816521be11c Mon Sep 17 00:00:00 2001 From: Luke Smith Date: Fri, 27 Aug 2021 19:05:55 -0400 Subject: [PATCH 18/25] fix for 465 starttls --- bin/mw | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bin/mw b/bin/mw index 87ec79c..fbf2884 100755 --- a/bin/mw +++ b/bin/mw @@ -46,9 +46,10 @@ from $fulladdr user $login passwordeval \"pass $fulladdr\" auth ${auth:-on} -${tlsline:-tls on} +tls on tls_trust_file $sslcert logfile $msmtplog +$tlsline " >> "$msmtprc" } From 20e08b07fd2df0afc066df9d3d252ac94374e824 Mon Sep 17 00:00:00 2001 From: Luke Smith Date: Fri, 27 Aug 2021 19:06:29 -0400 Subject: [PATCH 19/25] sort --- share/domains.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/domains.csv b/share/domains.csv index 292e05c..2ec18f1 100644 --- a/share/domains.csv +++ b/share/domains.csv @@ -1,5 +1,4 @@ ADDRESS,IMAP,imap port,SMTP,smtp port -gordon.edu,outlook.office365.com,993,smtp.office365.com,587 126.com,imap.126.com,993,smtp.126.com,587 163.com,imap.163.com,993,smtp.163.com,587 3nt3.de,mail.3nt3.de,993,mail.3nt3.de,465 @@ -114,6 +113,7 @@ gmx.*,imap.gmx.net,993,mail.gmx.net,587 go2.pl,poczta.o2.pl,993,poczta.o2.pl,465 goat.si,mail.cock.li,993,mail.cock.li,587 googlemail.com,imap.googlemail.com,993,smtp.googlemail.com,587 +gordon.edu,outlook.office365.com,993,smtp.office365.com,587 grrlz.net,mail.autistici.org,993,smtp.autistici.org,465 hacari.*,mail.autistici.org,993,smtp.autistici.org,465 helsinki.fi,outlook.office365.com,993,smtp.helsinki.fi,587 From 2be8ea7871e6d07592d7b4ed85ace213774261f6 Mon Sep 17 00:00:00 2001 From: Luke Smith Date: Sun, 29 Aug 2021 14:36:26 -0400 Subject: [PATCH 20/25] not necessary to create cachedir manually --- bin/mw | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/mw b/bin/mw index 823730e..e63fff2 100755 --- a/bin/mw +++ b/bin/mw @@ -121,7 +121,7 @@ $synccmd } getprofiles() { \ - mkdir -p "${muttrc%/*}" "$accdir" "$cachedir/$fulladdr/bodies" "${XDG_CONFIG_HOME:-$HOME/.config}/msmtp" + mkdir -p "${muttrc%/*}" "$accdir" "${XDG_CONFIG_HOME:-$HOME/.config}/msmtp" unset msmtp_header msmtp_profile mutt_profile mbsync_profile case "$iport" in 1143) imapssl=None ;; From 5971fadec832e6b970e7911e1919432c6052fdc7 Mon Sep 17 00:00:00 2001 From: Horea Christian Date: Thu, 9 Sep 2021 19:04:18 -0400 Subject: [PATCH 21/25] Check both new and cur dirs for notification Also better formattin --- bin/mailsync | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/bin/mailsync b/bin/mailsync index f00baf1..a633308 100755 --- a/bin/mailsync +++ b/bin/mailsync @@ -57,7 +57,14 @@ esac syncandnotify() { acc="$(echo "$account" | sed "s/.*\///")" if [ -z "$opts" ]; then mbsync "$acc"; else mbsync "$opts" "$acc"; fi - new=$(find "$HOME/.local/share/mail/$acc/INBOX/new/" "$HOME/.local/share/mail/$acc/Inbox/new/" "$HOME/.local/share/mail/$acc/inbox/new/" -type f -newer "${XDG_CONFIG_HOME:-$HOME/.config}/mutt/.mailsynclastrun" 2> /dev/null) + new=$(find\ + "$HOME/.local/share/mail/$acc/INBOX/new/"\ + "$HOME/.local/share/mail/$acc/Inbox/new/"\ + "$HOME/.local/share/mail/$acc/inbox/new/"\ + "$HOME/.local/share/mail/$acc/INBOX/cur/"\ + "$HOME/.local/share/mail/$acc/Inbox/cur/"\ + "$HOME/.local/share/mail/$acc/inbox/cur/"\ + -type f -newer "${XDG_CONFIG_HOME:-$HOME/.config}/mutt/.mailsynclastrun" 2> /dev/null) newcount=$(echo "$new" | sed '/^\s*$/d' | wc -l) case 1 in $((newcount > 5)) ) notify "$acc" "$newcount" ;; From f845e11fe281dd144311ff619cf16388a0f636e3 Mon Sep 17 00:00:00 2001 From: Luke Smith Date: Thu, 16 Sep 2021 15:07:47 -0400 Subject: [PATCH 22/25] fix #745, avoid incompatibility --- bin/mailsync | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/mailsync b/bin/mailsync index a633308..4469d55 100755 --- a/bin/mailsync +++ b/bin/mailsync @@ -25,7 +25,7 @@ eval "$(grep -h -- \ "$HOME/.profile" "$HOME/.bash_profile" "$HOME/.zprofile" "$HOME/.config/zsh/.zprofile" "$HOME/.zshenv" \ "$HOME/.bashrc" "$HOME/.zshrc" "$HOME/.config/zsh/.zshrc" "$HOME/.pam_environment" 2>/dev/null)" -export GPG_TTY=$TTY +export GPG_TTY="$(tty)" [ -n "$MBSYNCRC" ] && alias mbsync="mbsync -c $MBSYNCRC" || MBSYNCRC="$HOME/.mbsyncrc" From f8e59b9ab76639b77a94e8c6c293e0897d6aa874 Mon Sep 17 00:00:00 2001 From: Gil Oliveira Date: Fri, 17 Sep 2021 23:19:10 +0100 Subject: [PATCH 23/25] Added NOVA School of Science and Technology domains --- share/domains.csv | 2 ++ 1 file changed, 2 insertions(+) diff --git a/share/domains.csv b/share/domains.csv index 2ec18f1..aa35439 100644 --- a/share/domains.csv +++ b/share/domains.csv @@ -45,6 +45,7 @@ brew-meister.com,imap.mail.com,993,smtp.mail.com,587 bruttocarattere.org,mail.autistici.org,993,smtp.autistici.org,465 btinternet.com,mail.btinternet.com,993,mail.btinternet.com,587 calstatela.edu,outlook.office365.com,993,smtp.office365.com,587 +campus.fct.unl.pt,imap.gmail.com,993,smtp.gmail.com,587 canaglie.net,mail.autistici.org,993,smtp.autistici.org,465 canaglie.org,mail.autistici.org,993,smtp.autistici.org,465 carleton.ca,imap-mail.outlook.com,993,smtp-mail.outlook.com,587 @@ -100,6 +101,7 @@ europe.com,imap.mail.com,993,smtp.mail.com,587 ex-studenti.unitn.it,imap.gmail.com,993,smtp.gmail.com,587 fastmail.com,imap.fastmail.com,993,smtp.fastmail.com,465 fastmail.fm,imap.fastmail.com,993,smtp.fastmail.com,465 +fct.unl.pt,imap.gmail.com,993,smtp.gmail.com,587 firemail.cc,mail.cock.li,993,mail.cock.li,587 forpsi.com,imap.forpsi.com,993,smtp.forpsi.com,465 forthnet.gr,mail.forthnet.gr,993,smtp-auth.forthnet.gr,465 From 8d177222d6d07ada68930a64a0f7a2e320817094 Mon Sep 17 00:00:00 2001 From: Luke Smith Date: Thu, 23 Sep 2021 12:59:15 -0400 Subject: [PATCH 24/25] don't show message info anymore --- bin/mailsync | 13 +------------ share/domains.csv | 1 + 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/bin/mailsync b/bin/mailsync index 4469d55..bed86a9 100755 --- a/bin/mailsync +++ b/bin/mailsync @@ -33,7 +33,6 @@ export GPG_TTY="$(tty)" case "$(uname)" in Darwin) notify() { osascript -e "display notification \"$2 in $1\" with title \"You've got Mail\" subtitle \"Account: $account\"" && sleep 2 ;} - messageinfo() { osascript -e "display notification with title \"📧 $from\" subtitle \"$subject\"" ;} ;; *) case "$(readlink -f /sbin/init)" in @@ -46,10 +45,6 @@ case "$(uname)" in export DISPLAY=$x notify-send --app-name="mutt-wizard" "mutt-wizard" "📬 $2 new mail(s) in \`$1\` account." done ;} - messageinfo() { [ -n "$pgrepoutput" ] && for x in ${displays:-0:}; do - export DISPLAY=$x - notify-send --app-name="mutt-wizard" "📧$from:" "$subject" - done ;} ;; esac @@ -67,13 +62,7 @@ syncandnotify() { -type f -newer "${XDG_CONFIG_HOME:-$HOME/.config}/mutt/.mailsynclastrun" 2> /dev/null) newcount=$(echo "$new" | sed '/^\s*$/d' | wc -l) case 1 in - $((newcount > 5)) ) notify "$acc" "$newcount" ;; - $((newcount > 0)) ) for file in $new; do - # Extract subject and sender from mail. - from=$(awk '/^From: / && ++n ==1,/^\<.*\>:/' "$file" | perl -CS -MEncode -ne 'print decode("MIME-Header", $_)' | awk '{ $1=""; if (NF>=3)$NF=""; print $0 }' | sed 's/^[[:blank:]]*[\"'\''\<]*//;s/[\"'\''\>]*[[:blank:]]*$//') - subject=$(awk '/^Subject: / && ++n == 1,/^\<.*\>: / && ++i == 2' "$file" | head -n 1 | perl -CS -MEncode -ne 'print decode("MIME-Header", $_)' | sed 's/^Subject: //' | sed 's/^{[[:blank:]]*[\"'\''\<]*//;s/[\"'\''\>]*[[:blank:]]*$//' | tr -d '\n') - messageinfo & - done ;; + $((newcount > 0)) ) notify "$acc" "$newcount" ;; esac } diff --git a/share/domains.csv b/share/domains.csv index 2ec18f1..a3eb574 100644 --- a/share/domains.csv +++ b/share/domains.csv @@ -49,6 +49,7 @@ canaglie.net,mail.autistici.org,993,smtp.autistici.org,465 canaglie.org,mail.autistici.org,993,smtp.autistici.org,465 carleton.ca,imap-mail.outlook.com,993,smtp-mail.outlook.com,587 cash4u.com,imap.mail.com,993,smtp.mail.com,587 +cedars.xyz,imap.cedars.xyz,993,smtp.cedars.xyz,465 ceng.metu.edu.tr,imap.ceng.metu.edu.tr,993,mailhost.ceng.metu.edu.tr,587 cheerful.com,imap.mail.com,993,smtp.mail.com,587 chef.net,imap.mail.com,993,smtp.mail.com,587 From e8458ace20a1e553df1c6249b9ef27234dd2aafd Mon Sep 17 00:00:00 2001 From: Luke Smith Date: Thu, 23 Sep 2021 13:06:17 -0400 Subject: [PATCH 25/25] fix #691, fix #689, fix #690 --- Makefile | 4 ++-- bin/mw | 10 +--------- share/domains.csv | 2 +- share/unbind.muttrc | 37 +++++++++++++++++++++++++++++++++++++ 4 files changed, 41 insertions(+), 12 deletions(-) create mode 100644 share/unbind.muttrc diff --git a/Makefile b/Makefile index 5cd5bf2..64036d0 100644 --- a/Makefile +++ b/Makefile @@ -14,8 +14,8 @@ install: chmod 755 $(DESTDIR)$(PREFIX)/bin/mw $(DESTDIR)$(PREFIX)/bin/mailsync $(DESTDIR)$(PREFIX)/bin/openfile mkdir -p $(DESTDIR)$(PREFIX)/share/mutt-wizard chmod 755 $(DESTDIR)$(PREFIX)/share/mutt-wizard - cp -f share/mailcap share/domains.csv share/mutt-wizard.muttrc $(DESTDIR)$(PREFIX)/share/mutt-wizard - chmod 644 $(DESTDIR)$(PREFIX)/share/mutt-wizard/mailcap $(DESTDIR)$(PREFIX)/share/mutt-wizard/domains.csv $(DESTDIR)$(PREFIX)/share/mutt-wizard/mutt-wizard.muttrc + cp -f share/mailcap share/domains.csv share/mutt-wizard.muttrc share/unbind.muttrc $(DESTDIR)$(PREFIX)/share/mutt-wizard + chmod 644 $(DESTDIR)$(PREFIX)/share/mutt-wizard/mailcap $(DESTDIR)$(PREFIX)/share/mutt-wizard/domains.csv $(DESTDIR)$(PREFIX)/share/mutt-wizard/mutt-wizard.muttrc $(DESTDIR)$(PREFIX)/share/mutt-wizard/unbind.muttrc mkdir -p $(DESTDIR)$(MANPREFIX)/man1 cp -f mw.1 $(DESTDIR)$(MANPREFIX)/man1/mw.1 chmod 644 $(DESTDIR)$(MANPREFIX)/man1/mw.1 diff --git a/bin/mw b/bin/mw index e63fff2..2b9a41a 100755 --- a/bin/mw +++ b/bin/mw @@ -101,16 +101,8 @@ set header_cache = $cachedir/$fulladdr/headers set message_cachedir = $cachedir/$fulladdr/bodies set mbox_type = Maildir set hostname = \"$hostname\" +source $muttshare/unbind.muttrc $extra - -bind index,pager gg noop -bind index,pager g noop -bind index,pager M noop -bind index,pager C noop -bind index gg first-entry -unmailboxes * -unalternates * -unset signature $synccmd " > "$accdir/$idnum-$fulladdr.muttrc" diff --git a/share/domains.csv b/share/domains.csv index 672a1c6..e307b22 100644 --- a/share/domains.csv +++ b/share/domains.csv @@ -50,7 +50,7 @@ canaglie.net,mail.autistici.org,993,smtp.autistici.org,465 canaglie.org,mail.autistici.org,993,smtp.autistici.org,465 carleton.ca,imap-mail.outlook.com,993,smtp-mail.outlook.com,587 cash4u.com,imap.mail.com,993,smtp.mail.com,587 -cedars.xyz,imap.cedars.xyz,993,smtp.cedars.xyz,465 +cedars.xyz,mail.cedars.xyz,993,mail.cedars.xyz,465 ceng.metu.edu.tr,imap.ceng.metu.edu.tr,993,mailhost.ceng.metu.edu.tr,587 cheerful.com,imap.mail.com,993,smtp.mail.com,587 chef.net,imap.mail.com,993,smtp.mail.com,587 diff --git a/share/unbind.muttrc b/share/unbind.muttrc new file mode 100644 index 0000000..330d823 --- /dev/null +++ b/share/unbind.muttrc @@ -0,0 +1,37 @@ +# vim: filetype=neomuttrc + +# This is an embarrassing and hacky file that unbinds a bunch of binds between +# switching accounts. It is called each time an account is changed. + +bind index,pager gi noop +bind index,pager gs noop +bind index,pager gd noop +bind index,pager ga noop +bind index,pager gS noop +bind index,pager gj noop +bind index,pager gt noop +bind index,pager Mi noop +bind index,pager Ms noop +bind index,pager Md noop +bind index,pager Ma noop +bind index,pager MS noop +bind index,pager Mj noop +bind index,pager Mt noop +bind index,pager Ci noop +bind index,pager Cs noop +bind index,pager Cd noop +bind index,pager Ca noop +bind index,pager CS noop +bind index,pager Cj noop +bind index,pager Ct noop +bind index,pager gg noop +bind index,pager g noop +bind index,pager M noop +bind index,pager C noop +unset hostname +unmy_hdr Organization +unmailboxes * +unalternates * +unset signature + +bind index gg first-entry