Now works when X is not running, it can handle paths with spaces in them.
authorGabriel Pérez-Cerezo <gabriel@gpcf.eu>
Tue, 6 Oct 2015 11:13:10 +0000 (13:13 +0200)
committerGabriel Pérez-Cerezo <gabriel@gpcf.eu>
Tue, 6 Oct 2015 11:13:10 +0000 (13:13 +0200)
getmail.sh
sendmail.sh

index dbf7596..41bb089 100755 (executable)
@@ -1,10 +1,10 @@
 #/bin/bash 
 
-# Copyright (C) 2014 Gabriel Pérez-Cerezo <gabriel@gpcf.eu>
+# Copyright (C) 2014, 2015 Gabriel Pérez-Cerezo <gabriel@gpcf.eu>
 # See LICENSE file for license details.
 
 # This script fetches mail over rsync and then deletes the messages
 # left on the server.
 . "$HOME/.mail_config.sh"
-ssh-add -l > /dev/null || ssh-add < /dev/null
-rsync --remove-source-files --timeout 20 -avzhe ssh $server:$serverdir $inboxnew > /dev/null 2>&1
+ssh-add -l > /dev/null || if [ -n "$DISPLAY" ]; then ssh-add < /dev/null ; else ssh-add; fi
+RSYNC_CONNECT_PROG='torify ssh' rsync --remove-source-files --timeout 20 -avzhe ssh "$server:$serverdir" "$inboxnew" > /dev/null 2>&1 || [ $? -eq 23 ]
index 3d1f2ab..d0c4abf 100755 (executable)
@@ -2,27 +2,27 @@
 # This script sends the messages in the maildir using ssh
 # It stops execution if the connection fails.
 
-# Copyright (C) 2014 Gabriel Pérez-Cerezo <gabriel@gpcf.eu>
+# Copyright (C) 2014, 2015 Gabriel Pérez-Cerezo <gabriel@gpcf.eu>
 # See LICENSE file for license details.
 
 
 source ~/.mail_config.sh
-ssh-add -l > /dev/null || ssh-add < /dev/null
-cd $queuecur
-for i in $(ls $queuecur)
-do 
+ssh-add -l > /dev/null || if [ -n "$DISPLAY" ]; then ssh-add < /dev/null ; else ssh-add; fi
+cd "$queuecur"
+for i in *
+do
     # if the message is cced to me, copy it directly to my inbox (read
     # section). 
     if [ -n "$ccregexp" ]
     then
-       line=$(grep -m 1 -n -e $ccregexp < $i | cut -d : -f 1)
+       line=$(grep -E -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
+           cp "$i" "$inboxcur"
+           sed -i"" -e "${line}d" -i "$i" # and delete the CC header
        fi
        # send the message over SSH.
     fi
-    echo /usr/lib/sendmail -t | cat - $i | ssh -o ConnectTimeout=10 $server || break
-    rm $i
+    echo /usr/lib/sendmail -t | cat - "$i" | ssh -o ConnectTimeout=10 $server || break
+    rm "$i"
 done