Messente avatar logo

Send notification SMS from command line

- 5 MIN READ - 18 Oct 2012

Ability to send out notification SMS can be most invaluable to system administrators, as it allows to send urgent notifications to admins with ease.

Now there is a very easy way to send out notification SMS from unix command line. Using this guide and example bash script provided below, you can be up and running in less than 10 minutes.

1) Sign up on Messente.com

Go to https://messente.com/ and sign up. This takes up to 1 minute only.

Make sure you also verify your phone number, as this is required to send out SMS. When you skipped the number verification on sign-up flow, then you can add it later by selecting “+ Add Sender” from dashboard Sender selection drop-down menu.

2) Get your API username and password

First you need to know IP address of your server, where you are going to send out text messages. Find out your IP address from command line:

$ echo `curl -s http://automation.whatismyip.com/n09230945.asp`

Now go and get your API username and password from https://messente.com/apiaccount.

3) Get bash script

Save following script to a file, for example sendSMS.sh

#!/bin/bash
#set -x

# Configure this!
MESSENTE_API_USERNAME=00000000000000000000000000000000
MESSENTE_API_PASSWORD=11111111111111111111111111111111

# ---------------------------------------
# Do not modify anything below this line
# ---------------------------------------

if [ ! "$#" -eq 2 ]; then
 echo "ERROR 2 arguments required, $# provided"
 echo "-------------------------------------------------"
 echo "Usage: bash $0 full_phone_number text_message"
 echo "Example: bash $0 4463773683 "This is a test message""
 echo "-------------------------------------------------"
 exit 1
fi
echo -n "Sending SMS..."
curl -o /tmp/send_sms_result 
 -s http://api2.messente.com/send_sms/ 
 -d username=${MESSENTE_API_USERNAME} 
 -d password=${MESSENTE_API_PASSWORD} 
 --data-urlencode "to=$1" 
 --data-urlencode "text=$2"
API_RESULT=$( cat /tmp/send_sms_result | sed 's/( )(.*)/1/' )
API_RESULT_FULL=$( cat /tmp/send_sms_result )
if [ $API_RESULT == "OK" ]; then
 echo " done" 
 exit 0
else
 echo " failed (${API_RESULT_FULL})"
 exit 1
fi

4) Try out your new SMS sending function

You could make this file executable, or just call it directly:

$ bash sendSMS.sh 4463773683 "This is a sample text message"

And you are done! Now you can easily use this script to send out SMS messages

Troubleshooting

First, make sure you edited the script to include your personal API username and password.

Secondly, check the error code from Messente API documentation.

Still having troubles? Contact us development@messente.com and we will help you with it.

Jaanus Rõõmus

Jaanus Rõõmus - CTO

Jaanus is co-founder and CTO of Messente and makes sure its wheels keep spinning and Messente always has a full tank of fuel.

Municipalities take advantage of SMS to help people

16 Feb 2018

The humble SMS is a widely used tool and as such it is no miracle that municipalities use it widely as well. With high delivery, open rates and the majority of SMS opened within the first 3 minutes, there are few other means of communication that can reach people as fast and as reliably. Not to mention that the SMS works with any device, so recipients don’t have to have an internet-connected smartphone.

Uku Tomikas

Uku Tomikas

Where is the industry actually headed? WhatsApp, RCS, and more.

13 Feb 2018

The enterprise messaging space is full of innovative solutions. Some of them find their place in the mix of communication channels. Some of them quickly fade away and make room for others.

While Facebook Messenger has transformed how small businesses communicate with their customers, the short-lived MMS is one of the most notable technologies of the past that did not live up to expectations.

Lauri Kinkar

Lauri Kinkar

Central log management and why it really matters

06 Feb 2018

It’s a well-known fact that without logging we don’t really understand if our systems are functioning properly. Or worse, if something goes wrong, it’s next-to-impossible to understand why.  

However, today’s software architecture is more modularized as opposed to a more monolithic approach employed in the past. Individual applications are now often isolated into application containers (e.g. LXC, Docker) to decouple complex systems into more easily manageable chunks which can be easily deployed, replicated, secured and provisioned.

Uku Loskit

Uku Loskit

Start sending messages to

for € N/A

Contact us