--- /dev/null
+#!/bin/sh
+# $Id$
+# -*- sh -*- vim: ft=sh sw=4 sts=4
+
+# /usr/local/sbin/obexd
+# Designed to repeatedly call obexserver to receive new files, and send them
+# off in an email to root.
+
+on_term() {
+ killall obexserver >/dev/null 2>&1 || true
+ exit
+}
+
+trap on_term SIGTERM
+#trap on_term SIGQUIT
+trap on_term SIGINT
+
+trap "sdptool del OPUSH >/dev/null || true" EXIT
+
+sdptool add --channel=10 OPUSH >/dev/null
+
+while true; do
+filename=`obexserver|grep '^Filename = '|sed -e 's/^Filename = //'`
+
+(
+ case "$filename" in
+ *.txt) ctype=text/plain ;;
+ *.htm|*.html) ctype=text/html ;;
+ *.vcf) ctype=text/x-vcard ;;
+ *.wav) ctype=audio/x-wav ;;
+ *.mid|*.midi) ctype=audio/midi ;;
+ *.jpg|*.jpeg) ctype=image/jpeg ;;
+ *.gif) ctype=image/gif ;;
+ "WAP bookmark") ctype=text/x-url ;;
+ *.3gp) ctype=video/x-realmedia ;; # ???
+ *) ctype=application/octet-stream ;;
+ esac
+
+ # metasend can't handle file names with spaces
+ tempfile=`mktemp -t obexd.XXXXXX`
+ case "$ctype" in
+ text/*) tr -d '\r' < "/tmp/$filename" >> $tempfile ;;
+ *) cat "/tmp/$filename" >> $tempfile ;;
+ esac
+ rm -f "/tmp/$filename"
+
+ metasend -b -F bluetooth -t root -s "Object received via Bluetooth" -c '' \
+ -D "$filename" -S 4000000 -m "$ctype; name=\"`echo $filename|tr ' ' '_'`\""\
+ -f $tempfile
+ rm -f $tempfile
+)
+
+done