Add support for our now primary fastmail account
While at it, add some macros to mutt and clean up shell script with shellcheck. We also stop running imapfilter for anything but our own accounts.
This commit is contained in:
parent
7652573b72
commit
2b89f36dc5
8 changed files with 139 additions and 55 deletions
|
@ -1,4 +1,21 @@
|
|||
function main()
|
||||
local fastmail = IMAP {
|
||||
server = 'imap.fastmail.com',
|
||||
username = 'maitysanchayan@fastmail.com',
|
||||
password = get_pwd_fastmail(),
|
||||
ssl = 'tls1',
|
||||
}
|
||||
|
||||
fastmail.INBOX:check_status()
|
||||
mails = fastmail.INBOX:select_all()
|
||||
move_mailing_lists(fastmail, mails)
|
||||
mails = fastmail.Sent:select_all()
|
||||
move_mailing_lists(fastmail, mails)
|
||||
mails = fastmail['Trash']:select_all()
|
||||
move_mailing_lists(fastmail, mails)
|
||||
mails = fastmail['Spam']:select_all()
|
||||
move_mailing_lists(fastmail, mails)
|
||||
|
||||
local sanchayan = IMAP {
|
||||
server = 'imap.gmail.com',
|
||||
username = 'maitysanchayan@gmail.com',
|
||||
|
@ -19,28 +36,6 @@ function main()
|
|||
delete_from_trash(sanchayan, mails)
|
||||
mails = sanchayan['[Gmail]/Spam']:select_all()
|
||||
move_mailing_lists(sanchayan, mails)
|
||||
|
||||
local asymptotic = IMAP {
|
||||
server = 'imap.gmail.com',
|
||||
username = 'sanchayan@asymptotic.io',
|
||||
password = get_pwd_asymptotic(),
|
||||
ssl = 'tls1',
|
||||
}
|
||||
|
||||
asymptotic.INBOX:check_status()
|
||||
-- asymptotic['[Gmail]/Trash']:check_status()
|
||||
-- asymptotic['[Gmail]/Spam']:check_status()
|
||||
mails = asymptotic.INBOX:select_all()
|
||||
move_mailing_lists(asymptotic, mails)
|
||||
mails = asymptotic.Sent:select_all()
|
||||
move_mailing_lists(asymptotic, mails)
|
||||
mails = asymptotic['[Gmail]/Trash']:select_all()
|
||||
imap_trash = asymptotic['Trash']:select_all()
|
||||
move_to_gmail_trash(asymptotic, imap_trash, '[Gmail]/Trash')
|
||||
delete_from_trash(asymptotic, mails)
|
||||
mails = asymptotic['[Gmail]/Spam']:select_all()
|
||||
move_mailing_lists(asymptotic, mails)
|
||||
|
||||
end
|
||||
|
||||
function move_mailing_lists(account, mails)
|
||||
|
@ -128,6 +123,14 @@ function get_imap_password(file)
|
|||
return str;
|
||||
end
|
||||
|
||||
function get_pwd_fastmail()
|
||||
local cmd = "gpg2 --use-agent --quiet --batch --decrypt ~/.fastmail.gpg"
|
||||
local fd = io.popen(cmd, 'r')
|
||||
pass = fd:read("*a")
|
||||
fd:close()
|
||||
return pass;
|
||||
end
|
||||
|
||||
function get_pwd_sanchayan()
|
||||
local cmd = "gpg2 --use-agent --quiet --batch --decrypt ~/.sanchayan.gpg"
|
||||
local fd = io.popen(cmd, 'r')
|
||||
|
@ -136,12 +139,4 @@ function get_pwd_sanchayan()
|
|||
return pass;
|
||||
end
|
||||
|
||||
function get_pwd_asymptotic()
|
||||
local cmd = "gpg2 --use-agent --quiet --batch --decrypt ~/.asymptotic.gpg"
|
||||
local fd = io.popen(cmd, 'r')
|
||||
pass = fd:read("*a")
|
||||
fd:close()
|
||||
return pass;
|
||||
end
|
||||
|
||||
main() -- Call the main function
|
||||
|
|
|
@ -2,6 +2,32 @@ Create Slave
|
|||
Expunge Both
|
||||
SyncState *
|
||||
|
||||
IMAPAccount fastmail
|
||||
Host imap.fastmail.com
|
||||
Port 993
|
||||
User maitysanchayan@fastmail.com
|
||||
PassCmd "gpg2 -q --for-your-eyes-only --no-tty -d ~/.fastmail.gpg"
|
||||
SSLType IMAPS
|
||||
CertificateFile /etc/ssl/certs/ca-certificates.crt
|
||||
|
||||
IMAPStore fastmail-remote
|
||||
Account fastmail
|
||||
|
||||
MaildirStore fastmail-local
|
||||
SubFolders Verbatim
|
||||
Path "~/Mail/fastmail/"
|
||||
Inbox "~/Mail/fastmail/Inbox"
|
||||
|
||||
Channel fastmail
|
||||
Master :fastmail-remote:
|
||||
Slave :fastmail-local:
|
||||
Patterns *
|
||||
Expunge None
|
||||
CopyArrivalDate yes
|
||||
Sync All
|
||||
Create Slave
|
||||
SyncState *
|
||||
|
||||
IMAPAccount asymptotic
|
||||
Host imap.gmail.com
|
||||
Port 993
|
||||
|
@ -15,8 +41,8 @@ Account asymptotic
|
|||
|
||||
MaildirStore asymptotic-local
|
||||
SubFolders Verbatim
|
||||
Path "~/Gmail/asymptotic/"
|
||||
Inbox "~/Gmail/asymptotic/Inbox"
|
||||
Path "~/Mail/asymptotic/"
|
||||
Inbox "~/Mail/asymptotic/Inbox"
|
||||
|
||||
Channel asymptotic
|
||||
Master :asymptotic-remote:
|
||||
|
@ -35,8 +61,8 @@ Account gmail
|
|||
|
||||
MaildirStore gmail-local
|
||||
Subfolders Verbatim
|
||||
Path "~/Gmail/sanchayan/"
|
||||
Inbox "~/Gmail/sanchayan/Inbox"
|
||||
Path "~/Mail/sanchayan/"
|
||||
Inbox "~/Mail/sanchayan/Inbox"
|
||||
|
||||
Channel gmail
|
||||
Master :gmail-remote:
|
||||
|
|
|
@ -7,6 +7,12 @@ auth on
|
|||
tls on
|
||||
tls_trust_file /etc/ssl/certs/ca-certificates.crt
|
||||
|
||||
account fastmail
|
||||
host smtp.fastmail.com
|
||||
from sanchayan@sanchayanmaity.net
|
||||
user maitysanchayan@fastmail.com
|
||||
passwordeval "gpg2 --use-agent --batch --quiet --no-greeting --no-tty --for-your-eyes-only --homedir /home/core/.gnupg --decrypt ~/.fastmail.gpg"
|
||||
|
||||
account Sanchayan
|
||||
host smtp.gmail.com
|
||||
from maitysanchayan@gmail.com
|
||||
|
@ -20,4 +26,4 @@ user sanchayan@asymptotic.io
|
|||
passwordeval "gpg2 --use-agent --batch --quiet --no-greeting --no-tty --for-your-eyes-only --homedir /home/core/.gnupg --decrypt ~/.asymptotic.gpg"
|
||||
|
||||
# Set a default account
|
||||
account default : Sanchayan
|
||||
account default : fastmail
|
||||
|
|
21
mutt/.mutt/accounts/fastmail
Normal file
21
mutt/.mutt/accounts/fastmail
Normal file
|
@ -0,0 +1,21 @@
|
|||
set from = "sanchayan@sanchayanmaity.net"
|
||||
set sendmail = "/usr/bin/msmtp -a fastmail"
|
||||
set mbox = "+fastmail/Archive"
|
||||
set postponed = "+fastmail/drafts"
|
||||
set record = "+fastmail/Sent"
|
||||
|
||||
color status green default
|
||||
|
||||
macro index D \
|
||||
"<save-message>+fastmail/Trash<enter>" \
|
||||
"move message to the trash"
|
||||
|
||||
macro index S \
|
||||
"<save-message>+fastmail/Spam<enter>" \
|
||||
"mark message as spam"
|
||||
|
||||
macro index gi "<change-folder>=fastmail/Inbox<enter>" "Go to Inbox"
|
||||
macro index gf "<change-folder>=fastmail/FreedesktopGitlab<enter>" "Go to freedesktop gitlab"
|
||||
macro index gg "<change-folder>=fastmail/gstreamer<enter>" "Go to gstreamer"
|
||||
macro index gp "<change-folder>=fastmail/pulseaudio<enter>" "Go to pulseaudio"
|
||||
macro index gs "<change-folder>=fastmail/Sent<enter>" "Go to Sent"
|
|
@ -13,3 +13,9 @@ macro index D \
|
|||
macro index S \
|
||||
"<save-message>+sanchayan/Spam<enter>" \
|
||||
"mark message as spam"
|
||||
|
||||
macro index gi "<change-folder>=sanchayan/Inbox<enter>" "Go to Inbox"
|
||||
macro index gf "<change-folder>=sanchayan/FreedesktopGitlab<enter>" "Go to freedesktop gitlab"
|
||||
macro index gg "<change-folder>=sanchayan/gstreamer<enter>" "Go to gstreamer"
|
||||
macro index gp "<change-folder>=sanchayan/pulseaudio<enter>" "Go to pulseaudio"
|
||||
macro index gs "<change-folder>=sanchayan/Sent<enter>" "Go to Sent"
|
||||
|
|
|
@ -1,17 +1,31 @@
|
|||
#!/bin/bash
|
||||
|
||||
imapfilter -c ~/.imapfilter/config.lua
|
||||
mbsync -a
|
||||
notmuch new
|
||||
|
||||
export DISPLAY=:0
|
||||
let inbox=`ls /home/core/Gmail/sanchayan/Inbox/new/|wc -l`
|
||||
let asymptotic_inbox=`ls /home/core/Gmail/asymptotic/Inbox/new/|wc -l`
|
||||
|
||||
if [ "$inbox" -gt 0 ]; then
|
||||
sudo -u core DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus notify-send "You have $inbox new mails in inbox"
|
||||
imapfilter -c ~/.imapfilter/config.lua
|
||||
|
||||
if [ -d "$HOME/Mail/fastmail" ]; then
|
||||
mbsync fastmail
|
||||
fastmail_inbox=$(find ~/Mail/fastmail/Inbox/new | wc -l)
|
||||
if [ "$fastmail_inbox" -gt 1 ]; then
|
||||
notify-send "You have $fastmail_inbox new mails in fastmail inbox"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$asymptotic_inbox" -gt 0 ]; then
|
||||
sudo -u core DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus notify-send "You have $asymptotic_inbox new mails in asymptotic inbox"
|
||||
if [ -d "$HOME/Mail/sanchayan" ]; then
|
||||
mbsync gmail
|
||||
gmail_inbox=$(find ~/Mail/sanchayan/Inbox/new | wc -l)
|
||||
if [ "$gmail_inbox" -gt 1 ]; then
|
||||
notify-send "You have $gmail_inbox new mails in gmail inbox"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -d "$HOME/Mail/asymptotic" ]; then
|
||||
mbsync asymptotic
|
||||
asymptotic_inbox=$(find ~/Mail/asymptotic/Inbox/new | wc -l)
|
||||
if [ "$asymptotic_inbox" -gt 1 ]; then
|
||||
notify-send "You have $asymptotic_inbox new mails in asymptotic inbox"
|
||||
fi
|
||||
fi
|
||||
|
||||
notmuch new
|
||||
|
|
|
@ -1,11 +1,13 @@
|
|||
set mbox_type = Maildir
|
||||
set folder = ~/Gmail
|
||||
set spoolfile = +/sanchayan/Inbox
|
||||
set header_cache=~/Gmail/mutt_cache/ # a much faster opening of mailboxes...
|
||||
set folder = ~/Mail
|
||||
set spoolfile = +/fastmail/Inbox
|
||||
set header_cache=~/Mail/mutt_cache/ # a much faster opening of mailboxes...
|
||||
|
||||
source ~/.mutt/accounts/fastmail
|
||||
source ~/.mutt/accounts/sanchayan
|
||||
source ~/.mutt/accounts/asymptotic
|
||||
|
||||
folder-hook fastmail/* source ~/.mutt/accounts/fastmail
|
||||
folder-hook sanchayan/* source ~/.mutt/accounts/sanchayan
|
||||
folder-hook asymptotic/* source ~/.mutt/accounts/asymptotic
|
||||
|
||||
|
@ -32,7 +34,7 @@ set smart_wrap
|
|||
set tilde
|
||||
unset markers
|
||||
|
||||
# composing
|
||||
# composing
|
||||
set fcc_attach
|
||||
unset mime_forward
|
||||
set forward_format = "Fwd: %s"
|
||||
|
@ -44,7 +46,6 @@ unignore from: to: cc: date: subject: # then, show only these
|
|||
hdr_order from: to: cc: date: subject: # and in this order
|
||||
|
||||
source ~/.mutt/gruvbox.muttrc
|
||||
macro index 'c' '<change-folder>?<change-dir><home>^K=<enter>'
|
||||
|
||||
set send_charset="us-ascii:utf-8"
|
||||
set send_charset="utf-8"
|
||||
|
@ -75,4 +76,19 @@ macro index L "<enter-command>unset wait_key<enter><shell-escape>read -p 'notmuc
|
|||
# 'a' shows all messages again (supersedes default <alias> binding)
|
||||
macro index a "<limit>all\n" "show all messages (undo limit)"
|
||||
|
||||
# macro index D "<save-message>+/Trash<enter>" "Move message to the trash"
|
||||
macro index C '<change-folder>?<change-dir><home>^K=<enter>'
|
||||
macro index ca '<enter-command>source ~/.mutt/muttrc/accounts/asymptotic<enter><change-folder>=asymptotic/Inbox/<enter>'
|
||||
macro index cf '<enter-command>source ~/.mutt/muttrc/accounts/fastmail<enter><change-folder>=fastmail/Inbox/<enter>'
|
||||
macro index cg '<enter-command>source ~/.mutt/muttrc/accounts/sanchayan<enter><change-folder>=sanchayan/Inbox/<enter>'
|
||||
|
||||
macro index ,so "l ^a^k^O\n" "show old messages only"
|
||||
macro index ,sn "l ^a^k~N\n" "show unread/new only"
|
||||
macro index ,sf "l ~F\n" "show flagged messages only"
|
||||
macro index ,si "l (~n5-100|~N)\n" "show higher scoring messages"
|
||||
macro index ,hl "l ^a^k!~l\n" "hide list messages"
|
||||
macro index ,sa "l ^a^kall\n" "show all messages"
|
||||
|
||||
bind pager \Cp previous-line
|
||||
bind pager \Cn next-line
|
||||
bind pager <up> previous-line
|
||||
bind pager <down> next-line
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
# configured here named ".notmuch".
|
||||
#
|
||||
[database]
|
||||
path=/home/core/Gmail
|
||||
path=/home/core/Mail
|
||||
|
||||
# User configuration
|
||||
#
|
||||
|
@ -30,8 +30,8 @@ path=/home/core/Gmail
|
|||
#
|
||||
[user]
|
||||
name=Sanchayan Maity
|
||||
primary_email=sanchayan@asymptotic.io
|
||||
other_email=maitysanchayan@gmail.com;
|
||||
primary_email=maitysanchayan@fastmail.com
|
||||
other_email=maitysanchayan@gmail.com;sanchayan@asymptotic.io
|
||||
|
||||
# Configuration for "notmuch new"
|
||||
#
|
||||
|
@ -49,7 +49,7 @@ other_email=maitysanchayan@gmail.com;
|
|||
#
|
||||
[new]
|
||||
tags=N;
|
||||
ignore=mutt_cache
|
||||
ignore=mutt_cache;.mbsyncstate;.mbsyncstate.lock;.uidvalidity
|
||||
|
||||
# Search configuration
|
||||
#
|
||||
|
|
Loading…
Reference in a new issue