diff options
Diffstat (limited to '.offlineimap')
-rw-r--r-- | .offlineimap/offlineimap.py | 17 | ||||
-rwxr-xr-x | .offlineimap/postsync.sh | 26 |
2 files changed, 37 insertions, 6 deletions
diff --git a/.offlineimap/offlineimap.py b/.offlineimap/offlineimap.py index 50f91e2..e3ae422 100644 --- a/.offlineimap/offlineimap.py +++ b/.offlineimap/offlineimap.py @@ -1,8 +1,7 @@ #!/usr/bin/env python # -# Ref: -# Encrypt OfflineIMAP Password -# http://unix.stackexchange.com/questions/44214/encrypt-offlineimap-password +# Add support of encrypting password with gpg2 for OfflineIMAP. +# Provide function 'mailpasswd' to decrypt the password. # # Configurations: # [general] @@ -12,7 +11,11 @@ # remotepasseval = mailpasswd("<accountname>") # ... # -# 2014/06/20 +# Reference: +# [1] Encrypt OfflineIMAP Password +# http://unix.stackexchange.com/questions/44214/encrypt-offlineimap-password +# +# Updated: 2015/02/02 # import os @@ -21,7 +24,8 @@ import subprocess def mailpasswd(account): account = os.path.basename(account) path = '{0}/.offlineimap/{1}.gpg'.format(os.environ['HOME'], account) - args = ['gpg', '--use-agent', '--quiet', '--batch', '-d', path] + args = ['gpg2', '--for-your-eyes-only', '--no-tty', + '--quiet', '--batch', '--decrypt', path] try: return subprocess.check_output(args).strip() except subprocess.CalledProcessError: @@ -32,7 +36,8 @@ def mailpasswd(account): #def mailpasswd(account): # account = os.path.basename(account) # path = '{0}/.offlineimap/{1}.gpg'.format(os.environ['HOME'], account) -# args = ['gpg', '--use-agent', '--quiet', '--batch', '-d', path] +# args = ['gpg2', '--for-your-eyes-only', '--no-tty', +# '--quiet', '--batch', '--decrypt', path] # proc = subprocess.Popen(args, stdout=subprocess.PIPE) # output = proc.communicate()[0].strip() # retcode = proc.wait() diff --git a/.offlineimap/postsync.sh b/.offlineimap/postsync.sh new file mode 100755 index 0000000..c5a3985 --- /dev/null +++ b/.offlineimap/postsync.sh @@ -0,0 +1,26 @@ +#!/bin/sh +# +# OfflineIMAP postsynchook +# +# Weitian LI +# 2015/02/02 +# + +## Check new mails & send notification +MAILDIR="${HOME}/Mail/" +newmails=0 +for d in `find ${MAILDIR} -maxdepth 2 -type d -iname '*inbox'`; do + n=`ls ${d}/new/ | wc -l` + newmails=`expr ${newmails} + ${n}` +done + +if [ ${newmails} -gt 0 ] && which notify-send >/dev/null 2>&1; then + export DISPLAY=":0" + export XAUTHORITY="${HOME}/.Xauthority" + notify-send -i 'mail-unread' -a "OfflineIMAP" \ + "OfflineIMAP: Received ${newmails} new mail(s)!" +fi + +## Invoke notmuch to index mails +notmuch new + |