1402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll#*******************************************************************************
2402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll# Copyright (c) 2005, 2006 IBM Corporation and others.
3402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll# All rights reserved. This program and the accompanying materials
4402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll# are made available under the terms of the Eclipse Public License v1.0
5402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll# which accompanies this distribution, and is available at
6402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll# http://www.eclipse.org/legal/epl-v10.html
7402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll#
8402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll# Contributors:
9402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll#     IBM Corporation - initial API and implementation
10402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll#*******************************************************************************
11402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll#!/bin/sh
12402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll
13402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll# simple sample script to fire an email from the local machine to some user to 
14402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll# notify them of a change to the watched feed
15402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll
16402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll# Requirements:
17402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll# tested on Debian (Kubuntu), using
18402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll# exim 3.36-16
19402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll# mailx 1:8.1.2-0.20040524cvs-4
20402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll
21402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Molldebug=0;
22402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael MollfeedURL="";
23402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollxpath="";
24402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollnewvalue="";
25402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Molloldvalue="";
26402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll
27402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollwhile [ "$#" -gt 0 ]; do
28402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	case $1 in
29402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll		'-debug')
30402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll			debug=$2;
31402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll			shift 1
32402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll			;;
33402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll		'-feedURL')
34402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll			feedURL=$2;
35402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll			shift 1
36402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll			;;
37402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll		'-xpath')
38402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll			xpath=$2;
39402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll			shift 1
40402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll			;;
41402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll		'-oldvalue')
42402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll			oldvalue=$2;
43402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll			shift 1
44402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll			;;
45402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll		'-newvalue')
46402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll			newvalue=$2;
47402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll			shift 1
48402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll			;;
49402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	esac
50402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	shift 1
51402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Molldone
52402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll
53402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollif [ $debug -gt 0 ]; then
54402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll  echo "[sendEmailAlert] Started `date +%H:%M:%S`. Executing with the following options:"
55402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll  echo "-debug $debug";
56402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll  echo "-feedURL $feedURL";
57402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll  echo "-xpath $xpath";
58402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll  echo "-oldvalue $oldvalue";
59402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll  echo "-newvalue $newvalue";
60402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollfi
61402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll
62402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Molltmpfile="/tmp/sendEmailAlert.sh.tmp";
63402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollecho "" > $tmpfile;
64402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll
65402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll# compose message
66402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollecho "Eclipse RSS Feed has been updated." >> $tmpfile;
67402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollecho "" >> $tmpfile;
68402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollecho "Here's what happened:" >> $tmpfile;
69402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollecho "" >> $tmpfile;
70402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll
71402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollif [ "x$xpath" != "x" ]; then    echo "Changed Node: "$xpath >> $tmpfile; fi
72402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollif [ "x$oldvalue" != "x" ]; then echo "Old Value:    "$oldvalue >> $tmpfile; fi
73402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollif [ "x$newvalue" != "x" ]; then echo "New Value:    "$newvalue >> $tmpfile; fi
74402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollif [ "x$feedURL" != "x" ]; then  echo "Feed URL:     "$feedURL >> $tmpfile; fi
75402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll
76402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollecho "" >> $tmpfile;
77402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll
78402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll#assemble mail info
79402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael MolltoAddress="codeslave@ca.ibm.com";
80402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael MollfromAddress="Eclipse Build Team <NOSUCHADDRESS@eclipse.org>";
81402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollsubject="Eclipse RSS Feed Updated!";
82402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael MollMAIL="/usr/bin/mail";
83402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll
84402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollif [ $debug -gt 0 ]; then
85402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll    echo "Sending the following email using "$MAIL":";
86402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll    echo "--";
87402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll    echo "Subject: "$subject;
88402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll    echo "To: "$toAddress
89402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll    echo "From: "$fromAddress
90402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll    echo "--";
91402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll    cat $tmpfile;
92402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll    echo "--";
93402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollfi
94402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll
95402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll# send message
96402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollcat $tmpfile | $MAIL -s "$subject" -a "From: $fromAddress" $toAddress;
97402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll
98402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll# cleanup
99402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollrm -fr $tmpfile;
100402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll
101402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollif [ $debug -gt 0 ]; then
102402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll    echo "Done.";
103402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollfi
104