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.

How we do it: Supporting a culture of growth

14 Nov 2017

Recently, I’ve had several discussions about company culture. And here’s a common question: How do you build a culture that supports growth and create a workplace that everyone’s happy being part of?

Lauri Kinkar

Lauri Kinkar

This is an opportunity. Take advantage of it.

07 Nov 2017

In today’s world, it feels like the technology changes faster than we can keep up. As technology becomes even more ingrained in our lives, it’s obvious, that for our own good, regulations need to evolve as well. And it’s extremely important that business owners and leaders understand new regulations to adapt in the best way possible.

Raili Liiva

Raili Liiva

Scrub customer databases and make SMS more effective

31 Oct 2017

It’s often that we are asked, “what is your average delivery rate in (fill in the blank) country?” People usually expect an answer like, “98%.” Yet cost efficiency and SMS conversion is more important than a percentage number; without context it doesn’t mean anything.

The more important question pertains to how delivery rates are calculated. Let’s point out that there are mobile operators in some countries that do not send delivery reports, or if they do, they are unreliable. Is the delivery rate statistic based on messages sent and the number of messages that received a “delivered" status? That is the most common and brutally simplified way to calculate delivery rate. First of all, in fact, it is best practice to start with clarifying whether or not the mobile number databases contain phone numbers that are deliverable.

Margus Sütt

Margus Sütt

Start sending messages to

for € N/A

Contact us