Further improved software
authorGabriel Pérez-Cerezo <gabriel@gpcf.eu>
Mon, 6 Oct 2014 10:02:44 +0000 (12:02 +0200)
committerGabriel Pérez-Cerezo <gabriel@gpcf.eu>
Mon, 6 Oct 2014 10:02:44 +0000 (12:02 +0200)
getmail.sh
getmail.sh~ [new file with mode: 0755]
savemail.py
sendmail.sh

index eb53b28..9666095 100755 (executable)
@@ -1,7 +1,7 @@
-#/bin/sh 
+#/bin/bash 
 
 # This script fetches mail over rsync and then deletes the messages
 # left on the server.
-
+source ~/.mail_config.sh
 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
+rsync --remove-source-files --timeout 20 -avzhe ssh $server:$serverdir $inboxnew > /dev/null 2>&1
diff --git a/getmail.sh~ b/getmail.sh~
new file mode 100755 (executable)
index 0000000..c736f36
--- /dev/null
@@ -0,0 +1,3 @@
+#/bin/sh
+ssh-add -l > /dev/null || ssh-add < /dev/null
+rsync --remove-source-files -avzhe ssh --progress aubergine.gpcf.eu:/home/gpcf/Maildir/* /home/gpcf/Maildir/inbox
index daba392..5b06980 100755 (executable)
@@ -5,8 +5,9 @@
 
 import sys, mailbox
 from shutil import move
-from os import path, listdir
-maildir="/home/gpcf/Maildir/queue"
+from os import path, listdir, popen
+# read configuration from config file.
+maildir = popen(". $HOME/.mail_config.sh; echo $queue").read()[:-1]
 md = mailbox.Maildir(maildir)
 md.add(sys.stdin.read())
 
index 1912e73..400141c 100755 (executable)
@@ -1,10 +1,20 @@
 #!/bin/bash
 # This script sends the messages in the maildir using ssh
-# It breaks if the connection fails.
-maildir=/home/gpcf/Maildir/queue/cur
+# It stops execution if the connection fails.
+
+source ~/.mail_config.sh
 ssh-add -l > /dev/null || ssh-add < /dev/null
-for i in $(ls $maildir); 
+cd $queuecur
+for i in $(ls $queuecur); 
 do 
-    echo /usr/lib/sendmail -t | cat - $maildir/$i | ssh -o ConnectTimeout=10 aubergine.gpcf.eu || break
-    rm $maildir/$i
+    # if the message is cced to me, copy it directly to my inbox.
+    line=$(grep -m 1 -n -e $ccregexp < $i | cut -d : -f 1)
+    if [ -n "$line" ]
+    then
+       cp $i $inboxcur
+       sed -i"" -e "${line}d" -i $i # and delete the CC header
+    fi
+    # send the message over SSH.
+    echo /usr/lib/sendmail -t | cat - $i | ssh -o ConnectTimeout=10 $server || break
+    rm $i
 done