Bering-uClibc 7.x - User Guide - Basic Configuration - Email Alerts
| Basic Configuration - Email Alerts | ||
|---|---|---|
| Prev | Bering-uClibc 7.x - User Guide | Next |
Contents
Examples of email alerts
This is a series of email examples that are complementing the Bering-uClibc builtin email notification found in the master configuration file [ lrcfg... 2) system configuration... 1) Master LRP settings... ] . These examples show how to adapt to the recent changes in smtp servers requirements.
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.
NOTE: I think using Google's SMTP server with Curl, is the easiest method, if you have an account.
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 example will send an email when the router dynamic IP address changes
The script is saved as /etc/cron.daily/mailIP so it is executed daily at 06:42. It checks if the IP address has change, if not, it does nothing, if yes, it sends you an e-mail.
You should also realize that this is a cheap (free) way of getting your dynamic IP address, whenever it changes. It's all done without having to rely on a "so called " free dynamic DNS (DDNS) service provider. They are not always a reliable long term solution, remember DYNDNS !!! The only caveat here, is having to wait, till morning ( 06:42), to finally be informed that your IP has change, but he !, wth this is free :-) .
Using sendmail: with simple authentication username & password
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 sendmail: with SSL/TLS
- obtain a certificate:
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
- replace the previous sendmail stanza with this one:
sendmail -H"exec openssl s_client -quiet -CAfile /root/google-roots.pem -connect smtp.videotron.ca:465 -tls1 -pause" </tmp/MyIP1.log -froot@firewall -auxxxxxxxx -apyyyyyyyy blablabla@gmail.com
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 curl with Google's SMTP
- First you will have to get an App Password, go to your Google security settings, enable 2-steps verification.
- in Google security search-bar search for app password, click on the App password secure link, enter your password
- Type in an app name like for example curlmail, click the Create button, take note of the
xypr bmhs izon ijgngenerated code, press quit. - now replace the sendmail stanza with this one:
curl --url 'smtps://smtp.gmail.com:465' --mail-from 'root@firewall' --mail-rcpt 'blablabla@gmail.com' --upload-file /tmp/MyIP1.log --ssl-reqd --user 'blablabla@gmail.com:xypr bmhs izon ijgn' --insecure -v
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
Periodic notifications
Maybe if you are like me, you would like your router to report regularly to you that 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 week... # # echo "" > /tmp/MyIP.log # clearing the IP address value will force /etc/cron.daily/mailIP to send an email ... # #
you get the picture...
| Prev | Up | Next |