summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xcount_email.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/count_email.py b/count_email.py
new file mode 100755
index 0000000..6b51971
--- /dev/null
+++ b/count_email.py
@@ -0,0 +1,29 @@
+#!/usr/bin/env python
+
+# A small script to pull unread email counts from servers in .authinfo
+
+from imaplib import IMAP4_SSL
+from subprocess import check_output
+
+# Server
+servers=["posteo","gmail"]
+result = []
+# Decrypt the file, split the lines
+data = check_output(["gpg","--decrypt",".authinfo.gpg"]).decode('utf-8').split('\n')
+# Collect results
+for server in servers:
+ # Get password and username
+ line = [l for l in data if ("imap" in l and server in l)][0].split()
+ host,user,password = line[1], line[3], line[5]
+ # Login
+ imap = IMAP4_SSL(host)
+ imap.login(user,password)
+ imap.select("INBOX", 1)
+ # Count emails
+ _, res = imap.search(None, "UNSEEN")
+ count = len(res[0].split())
+ imap.logout()
+ # Store count if there's something
+ if count>0: result.append(user+": "+str(count))
+# What did we find
+print(", ".join(result))