Vanuit een microsoft access client programma waarvan de tabellen gelinkt zijn aan een MySQL database maak ik standaard mailtjes die ik verstuur via mijn linux server. Hiervoor gebruik ik het onderstaande script.
Het script wordt iedere minuut gestart vanuit de crontab en pakt het eerste mailtje dat klaar staat om deze vervolgens te gaan verzenden (op die manier kan ik maximaal 1 mailtje per minuut automatisch laten verzenden.)
Nu is dit het eerste scriptje wat ik gemaakt hebt onder linux in combinatie met sendmail en MySQL en ik weet zeker dat dit op een veel betere manier mogelijk moet zijn. Kan iemand mij (en iedereen die dit leest) tips geven over hoe dit scriptje aan te passen? (een loop misschien?)
Het script wordt iedere minuut gestart vanuit de crontab en pakt het eerste mailtje dat klaar staat om deze vervolgens te gaan verzenden (op die manier kan ik maximaal 1 mailtje per minuut automatisch laten verzenden.)
Nu is dit het eerste scriptje wat ik gemaakt hebt onder linux in combinatie met sendmail en MySQL en ik weet zeker dat dit op een veel betere manier mogelijk moet zijn. Kan iemand mij (en iedereen die dit leest) tips geven over hoe dit scriptje aan te passen? (een loop misschien?)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| #! /bin/bash2
if mysql orderdb -e "SELECT email.verzend FROM email WHERE (email.verzend = -1) LIMIT 1;" | grep -s 'verzend' > /dev/null
then
echo "From: hduijn@hotmail.com" > /usr/local/scripts/dbmail
echo -n "To: " >> /usr/local/scripts/dbmail
mysql orderdb -r -N -B -e "SELECT email.email FROM email WHERE (email.verzend = -1) LIMIT 1;" >> usr/local/scripts/db
echo -n "Subject: " >> /usr/local/scripts/dbmail
mysql orderdb -r -N -B -e "SELECT email.subject FROM email WHERE (email.verzend = -1) LIMIT 1;" >> usr/local/scripts/
echo "Content-type: text/html;" >> /usr/local/scripts/dbmail
mysql orderdb -r -N -B -e "SELECT email.text FROM email WHERE (email.verzend = -1) LIMIT 1;" >> usr/local/scripts/dbm
mysql orderdb -e "UPDATE email SET email.verzend=0, email.verzonden=-1 WHERE (email.verzend = -1) LIMIT 1;"
/usr/sbin/sendmail -fhduijn@hotmail.com -F'Hugo van Duijn' -t < /usr/local/scripts/dbmail
fi |