Initial commit.
authorGabriel Pérez-Cerezo <gabriel@gpcf.eu>
Sun, 21 Sep 2014 18:20:44 +0000 (20:20 +0200)
committerGabriel Pérez-Cerezo <gabriel@gpcf.eu>
Sun, 21 Sep 2014 18:20:44 +0000 (20:20 +0200)
getmail.sh [new file with mode: 0755]
savemail.py [new file with mode: 0755]
sendmail.sh [new file with mode: 0755]

diff --git a/getmail.sh b/getmail.sh
new file mode 100755 (executable)
index 0000000..eb53b28
--- /dev/null
@@ -0,0 +1,7 @@
+#/bin/sh 
+
+# This script fetches mail over rsync and then deletes the messages
+# left on the server.
+
+ssh-add -l > /dev/null || ssh-add < /dev/null
+rsync --remove-source-files -avzhe ssh -o ConnectTimeout=20 aubergine.gpcf.eu:/home/gpcf/Maildir/* /home/gpcf/Maildir/inbox > /dev/null
diff --git a/savemail.py b/savemail.py
new file mode 100755 (executable)
index 0000000..daba392
--- /dev/null
@@ -0,0 +1,17 @@
+#!/usr/bin/python
+# This script takes email mesages from stdin and
+# saves them in a maildir.
+# Copyright (c) 2014 Gabriel Perez-Cerezo <http://gpcf.eu>
+
+import sys, mailbox
+from shutil import move
+from os import path, listdir
+maildir="/home/gpcf/Maildir/queue"
+md = mailbox.Maildir(maildir)
+md.add(sys.stdin.read())
+
+for i in listdir(path.join(maildir, "new")) :
+    # move the messages into the 'cur' folder. This prevents Wanderlust
+    # from messing with the messages. 
+    move(path.join(maildir, "new", i), path.join(maildir, "cur", i))
+    
diff --git a/sendmail.sh b/sendmail.sh
new file mode 100755 (executable)
index 0000000..1912e73
--- /dev/null
@@ -0,0 +1,10 @@
+#!/bin/bash
+# This script sends the messages in the maildir using ssh
+# It breaks if the connection fails.
+maildir=/home/gpcf/Maildir/queue/cur
+ssh-add -l > /dev/null || ssh-add < /dev/null
+for i in $(ls $maildir); 
+do 
+    echo /usr/lib/sendmail -t | cat - $maildir/$i | ssh -o ConnectTimeout=10 aubergine.gpcf.eu || break
+    rm $maildir/$i
+done