Enable server ports on Xastir. We need to use the command line binary xastir_udp_client which is part of Xastir. To send the data over RF, you need to have Xastir configured with your transmitter already.
More info about the mail APRS service: http://www.aprs-is.net/email.aspx
The basic string is:
xastir_udp_client XastirIP port callsing passcode -to_rf 'callsign>APRS::EMAIL :EmailOfReceiver@something.com message'
Real example:
xastir_udp_client 192.168.0.140 2023 S55MA-10 22222 -to_rf 'S55MA-10>APRS::EMAIL :s55ma@radioamater.si hello'
Note: You may only send one line messages of 64 total characters maximum for the message even though the documentation is saying 67. You have to put 4 white spaces between EMAIL and EmailOfReceiver, so the total lenght of EMAIL+white spaces is 9 characters.
This post is about Xastir, but on the side note, most APRS capable handhelds stations are not able of sending email messages through APRS. One portable station that’s able to do it is Kenwood TH-D72. I found this post about it. Too bad other portables are not able to do that where this feature is the most usefull, I mean, it’s not like I’m going to need aprs to email service from my home station, I’d likely need it outdoors for emergency situations or to send an email when I’m abroad and without cellular data service.
Quick script for sending messages:
#!/bin/bash #APRS to Email script using Xastir #Define variables #Xastir server and port server=192.168.0.140 port=2023 #Authentication info user=S55MA passcode=22222 echo "Enter sender (yours or some others callsign)" read sender sendercapital="$(echo $sender | awk '{print toupper($0)}')" echo "Enter destination email:" read email echo "Enter your message (max 64 characters):" read message #Count message characters msglenght="$(echo $message | wc -c)" #Restart script if message exceeds 64 characters. if [ "$msglenght" -gt 64 ]; then echo "Your message exceeded 64 characters, try again!" exec bash "$0" else xastir_udp_client $server $port $user $passcode -to_rf "$sendercapital>APRS::EMAIL :$email $message" >/dev/null 2>&1 echo "Message has been sent." fi