Menu

Rate this page:

Thanks for rating this page!

We are always striving to improve our documentation quality, and your feedback is valuable to us. How could this documentation serve you better?

SMS and MMS Notifications with PHP

Download the Code

Today we're going to get your server to automatically sound the (textual) alarm when something goes wrong. Using PHP and Laravel, we'll light up the phones of all of your server administrators when your code raises an exception.

Clone the application and head to the application's README to see how to run the app locally.

See how EMC uses Twilio SMS to send IT alerts to 68,000 employees.

Let's get started!

Click the button below to start the journey.

Next

List Your Server Administrators - And Other Lucky Folks

Here we create a list of people who should be notified if a server error occurs.

The only essential piece of data we need is a phone_number for each administrator.

Loading Code Sample...
      
      
      
      
      server-notifications-php Administrators list

      server-notifications-php config.json

      server-notifications-php Administrators list

      Next up, we'll see how to set up the Twilio client.

      Next

      Configure the Twilio Client

      To send a message, we'll need to create a Twilio REST client, which requires reading our TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN and a TWILIO_NUMBER from environmental variables. TWILIO_NUMBER needs not be a real number. It can be any number of your choosing and is mainly used to populate the To field in the outgoing message.

      The values for your account SID and Auth Token come from the Twilio console:

      Twilio Account Summary section of the console

      Loading Code Sample...
          
          
          
          
          Handles server exceptions and forwards them to Administrators via SMS.

          sendSms Method

          Handles server exceptions and forwards them to Administrators via SMS.

          Next let's see how to handle application exceptions.

          Expertly Accept Exceptions

          Handle Application Exceptions

          Each time an exception is raised anywhere in a Laravel application an TwilioExceptionHandler will handle it. (Appropriate name!)

          This is where we hook our SMS sending code. It's important to call parent so the framework can do its regular error handling as well.

          Loading Code Sample...
              
              
              
              
              Handles server exceptions and forwards them to Administrators via SMS.

              Notify Upon Exception

              Handles server exceptions and forwards them to Administrators via SMS.

              Next up let's see how to create a custom message.

              Create Your Message Text

              Create a Custom Alert Message

              Here we create an alert message to send out via text message.

              You might also decide to include a picture with your alert message... perhaps a screenshot of the application when the crash happened? A meme image to calm everyone down?

              Loading Code Sample...
                  
                  
                  
                  
                  Handles server exceptions and forwards them to Administrators via SMS.

                  Sending a custom alert message

                  Handles server exceptions and forwards them to Administrators via SMS.

                  Let's now take a look at how to load the list of administrators.

                  Next

                  Read the Administrators from the JSON File

                  We read the lucky people from our JSON file and send alert messages to each of them with the private send_message method.

                  Loading Code Sample...
                      
                      
                      
                      
                      Handles server exceptions and forwards them to Administrators via SMS.

                      Read the alert message recipients

                      Handles server exceptions and forwards them to Administrators via SMS.

                      Now let's look at how to send a text message.

                      Send SMSes Out

                      Send a Text Message

                      There are the three parameters needed to send an SMS using the Twilio REST API: From, To, and Body.

                      After the message is sent, we print out the phone number we're texting. US and Canadian phone numbers can also send an image with the message. (Other countries will have a shortened url appended pointing to the image.)

                      Loading Code Sample...
                          
                          
                          
                          
                          Handles server exceptions and forwards them to Administrators via SMS.

                          Send out an SMS or MMS

                          Handles server exceptions and forwards them to Administrators via SMS.

                          That's all, folks!

                          We've just implemented an automated server notification system that can push out server alerts if (ahem, when) anything goes wrong. Now let's look at some other great features you might like to add.

                          What Else Can I Build?

                          Where to Next?

                          PHP and Twilio - such a great combination. Here are just two other excellent tutorials for you to try out:

                          Two-Factor Authentication

                          Increase the security of your login system by verifying a user's mobile phone in addition to their password.

                          Appointment Reminders

                          Send your customers a text message when they have an upcoming appointment - this tutorial shows you how to do it from a background job.

                          Did this help?

                          Thanks for checking out this tutorial! Tweet @twilio to let us know what you think.

                          Jarod Reyes Jose Oliveros Jennifer Aprahamian Agustin Camino David Prothero Paul Kamp Andrew Baker  Kat King

                          Need some help?

                          We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd browsing the Twilio tag on Stack Overflow.

                          Loading Code Sample...