Difference between revisions of "Bering-uClibc 6.x - User Guide - Basic Configuration - Email Alerts"
Line 31: | Line 31: | ||
#!/bin/sh | #!/bin/sh | ||
# | # | ||
− | # | + | # transmit the IP address when it changes... |
# | # | ||
# | # | ||
Line 40: | Line 40: | ||
else | else | ||
echo $IPNOW > /tmp/MyIP.log | echo $IPNOW > /tmp/MyIP.log | ||
− | echo "Subject: | + | echo "Subject: today IP address: $IPNOW !!! " > /tmp/MyIP1.log |
echo "From: root@firewall" >> /tmp/MyIP1.log | echo "From: root@firewall" >> /tmp/MyIP1.log | ||
echo "Date: `date -R`" >> /tmp/MyIP1.log | echo "Date: `date -R`" >> /tmp/MyIP1.log | ||
echo "" >> /tmp/MyIP1.log | echo "" >> /tmp/MyIP1.log | ||
− | echo " | + | echo "Hello my dear Creator" >> /tmp/MyIP1.log |
echo "" >> /tmp/MyIP1.log | echo "" >> /tmp/MyIP1.log | ||
− | echo " | + | echo "my IP is now: $IPNOW" >> /tmp/MyIP1.log |
− | echo "Uptime | + | echo "Uptime is: `uptime | cut -d ',' -f1 | sed 's/^.\{12\}//g'`" >> /tmp/MyIP1.log |
echo "" >> /tmp/MyIP1.log | echo "" >> /tmp/MyIP1.log | ||
echo "---- " >> /tmp/MyIP1.log | echo "---- " >> /tmp/MyIP1.log | ||
− | echo " | + | echo "from your friendly Router !!!" >> /tmp/MyIP1.log |
echo "" >> /tmp/MyIP1.log | echo "" >> /tmp/MyIP1.log | ||
echo "" >> /tmp/MyIP1.log | echo "" >> /tmp/MyIP1.log | ||
sendmail -S relais.videotron.ca:587 </tmp/MyIP1.log -froot@firewall -auxxxxxxxx -apyyyyyyyy blablabla@gmail.com | sendmail -S relais.videotron.ca:587 </tmp/MyIP1.log -froot@firewall -auxxxxxxxx -apyyyyyyyy blablabla@gmail.com | ||
fi | fi | ||
− | |||
Line 89: | Line 88: | ||
#!/bin/sh | #!/bin/sh | ||
# | # | ||
− | # PURPOSE: e-Mail me my external IP | + | # PURPOSE: e-Mail me my external IP every weeks... |
− | # | + | # |
# | # | ||
echo "" > /tmp/MyIP.log | echo "" > /tmp/MyIP.log |
Revision as of 03:45, 11 July 2018
Note, work in progress...
These examples are not using the Bering-uClibc builtin email notification found in the master configuration file
[ lrcfg... 2) system configuration... 1) Master LRP settings... ]
Email notification example using your own ISP SMTP server or Google's:
If your ISP provides you with an email account, using their SMTP server to send notification emails is the simplest method since most will only require a simple authentication username & password. Some might use TLS/SSL in which case simply use curl
otherwise you will need to get a certificate. In any case check your ISP SMTP server requirements. Last resort (joking...), if you have a Google account and certificate, you can use their SMTP server.
For the emails to get out you will have to add these rules to /etc/shorewall/rules
# pour les mails de Videotron.... SMTP(ACCEPT) fw net ACCEPT fw net tcp 587 ACCEPT fw net tcp 465
This email gets sent when the router IP address changes
The script is saved as /etc/cron.daily/mailIP
so it is executed daily at 06:42. It will check if the IP has changed.
You should also realize that this is a cheap way of getting your dynamic IP address, should it change, without using a so called free dynamic DNS service. They are not always reliable, remember DYNDNS...
- Using sendmail:
The code can be found in this forum, along with many other hints... https://www.snbforums.com/threads/notifications-e-mail.8190/page-8#post-267789
firewall# cat mailIP #!/bin/sh # # transmit the IP address when it changes... # # IPNOW=$(ip addr | grep 255.255. | sed -n 's/^ *inet *\([.0-9]*\).*/\1/p') if grep -q $IPNOW /tmp/MyIP.log then echo "No change" else echo $IPNOW > /tmp/MyIP.log echo "Subject: today IP address: $IPNOW !!! " > /tmp/MyIP1.log echo "From: root@firewall" >> /tmp/MyIP1.log echo "Date: `date -R`" >> /tmp/MyIP1.log echo "" >> /tmp/MyIP1.log echo "Hello my dear Creator" >> /tmp/MyIP1.log echo "" >> /tmp/MyIP1.log echo "my IP is now: $IPNOW" >> /tmp/MyIP1.log echo "Uptime is: `uptime | cut -d ',' -f1 | sed 's/^.\{12\}//g'`" >> /tmp/MyIP1.log echo "" >> /tmp/MyIP1.log echo "---- " >> /tmp/MyIP1.log echo "from your friendly Router !!!" >> /tmp/MyIP1.log echo "" >> /tmp/MyIP1.log echo "" >> /tmp/MyIP1.log sendmail -S relais.videotron.ca:587 </tmp/MyIP1.log -froot@firewall -auxxxxxxxx -apyyyyyyyy blablabla@gmail.com fi
- Using curl: replace the sendmail stanza with this one:
curl --url smtps://smtp.videotron.ca:465 --mail-from root@firewall --mail-rcpt blablabla@gmail.com --upload-file /tmp/MyIP1.log --ssl-reqd --user xxxxxxxx:yyyyyyyy --insecure
- Using Google's SMTP: again replace the previous sendmail stanza with this one...
cat /tmp/MyIP1.log | sendmail -H"exec openssl s_client -quiet -CAfile /root/google-roots.pem -connect smtp.gmail.com:587 -tls1 -starttls smtp" -fblablabla@gmail.com -aublablabla@gmail.com -apyourgmailpassw blablabla@gmail.com
The certificate google-roots.pem comes from:
cd (to /root) wget https://pki.google.com/roots.pem mv roots.pem google-roots.pem
Look here for references: https://www.snbforums.com/threads/notifications-e-mail.8190/page-10#post-400586
I had some issues with the Equifax Certificate using this: https://www.snbforums.com/threads/notifications-e-mail.8190/page-10#post-332399
- periodic notifications
You would like your router to report regularly to you it's alive and well, but without flooding your emails. Then have it send a weekly or monthly notification like so:
add this script as /etc/cron.weekly/mailIP_week
firewall# cat mailIP_week #!/bin/sh # # PURPOSE: e-Mail me my external IP every weeks... # # echo "" > /tmp/MyIP.log # #
you get the picture...