This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How I send mail OCPN Watchdog Plugin
#1
I wanted to use OpenCPN Watchdog plugin (command function) to send out an email, for remote monitoring by Gmail.

Using SSMTP on openplotter2 to send email, well SSMTP does not seem to work any longer, try as I did, it didnt connect with gmail. 

Eventually I found msmtp as an alternative to SSMPT and I was able to get it up an running in no time and had OpenCPN Watchdog emailing me with alarms.  

First thing I did was open a gmail account, I use a gmail account specially for the boat because I need to change one of the security settings to be less secure during login. DO NOT use existing accounts or usual passwords because they can be exposed as text during log in.

Open a new Gmail account and enable:
https://www.google.com/settings/security/lesssecureapps

1. Enabling less secure apps to access Gmail
2. Open your Google Admin console (admin.google.com).
3. Click Security > Basic settings .
4. Under Less secure apps, select Go to settings for less secure apps .
5. In the sub-window, select the Enforce access to less secure apps for all users radio button. 
6. Click the Save button.


You can install the msmtp package with:

$sudo apt-get install msmtp msmtp-mta

The configuration file is located here : /etc/msmtprc
Strangely enough, it is empty with no clues, which is different from the old ssmtp.conf file.
However, there is a description with details if you use the man $man msmtp, or just copy and paste the contents I have supplied changing the necessary acount details.

For gmail accounts, these are the specific elements you should put into /etc/msmtprc:  

$sudo nano /etc/msmtprc

# Generics, important tls needs to be on when using port 587
defaults
auth           on
tls            on
# following is different from ssmtp:
tls_trust_file /etc/ssl/certs/ca-certificates.crt
# user specific log location, otherwise use /var/log/msmtp.log, however, 
# this will create an access violation if you are user pi, and have not changes the access rights
logfile        ~/.msmtp.log
# Gmail specifics, you shouldnt need to change these
account        gmail
host           smtp.gmail.com
port           587
# You need to change these
from          your-vessel-gmail-account_name@gmail.com
user          your-vessel-gmail-account_name@gmail.com
password      your-vessel-gmail-account-password
# Default
account default : gmail

Save the file close nano and exit.

You can test if this now works with:

$echo 'your test message' | msmtp destination-email-address@xxxxxxx.com


I have not yet found a way to set the subject, there is no -s flag as with ssmpt.

However, if you also install mailutils:

$sudo apt-get install mailutils

Then these should work:

$echo 'message' | mail -s "Hello" destination-email-address@xxxxxxx.com
$echo 'message' | sendmail destination-email-address@xxxxxx.com

You can use both mailutils and mpack with msmtp just as you did with ssmtp.

So any scripts that you have used before with ssmtp, mailutils or mpack should work just the same using msmtp.

Setting up the command script file to use in OpenCPN plugin, Watchdog.
 
You can have Watchdog execute a computer command. We wanted Watchdog to send us an email if our boat moves or the NMEA data stops. We stored the command to email a boat moving alarm in a shell file called: AnchorAlarmEmail.sh and for the loss of NMEA data: NMEA_Data_Missing.sh

First up create a new directory called bin in /home/pi  

$mkdir bin  

Reboot the computer, the bin file will be seen on reboot.

After creating the files with nano $sudo nano AnchorAlarmEmail.sh and $sudo nano NMEA_Data_Missing.sh  
save them to the created /home/pi/bin directory I changed the permissions of the file to make them exacutable. 
$sudo chmod 755 AnchorAlarmEmail.sh 
$sudo chmod 755 NMEA_Data_Missing.sh

As an example of the file, here is the format of the NMEA data loss script file NMEA_Data_Missing.sh: 
#!/bin/bash
echo "GPS NMEA Data Loss" | mail -s "Danger Will Robertson" destination-email-address@xxxxxxx.com 

Or for the Anchor watch script file AnchorAlarmEmail.sh

#!/bin/bash
echo "Boat appears to be on the move. Best regards, the Watchdog " | mail -s "ON THE MOVE" destination-email-address@xxxxxxx.com

You may want to send the email to your most used account that will alarm on your phone when an email is received, we don’t send mail to the same account as we receive it from, but this is a personal choice.

Before running the test to check if the shell script works, shutdown and reboot OpenPlotter
 
Then test the shell file is going to work. After reboot open a terminal window and type in AnchorAlarmEmail.sh or NMEA_Data_Missing.sh 

If these files are working, you receive an email or two, then you can go ahead and configure WatchDog to select these files as a command to execute.

I hope this helps for those who like to use the OpenCPN watchdog Plugin.
Only those who go too far can possibly tell you how far one can go

Our Blog: svmatilda.com
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)