Уведомления по SMS и MMS с помощью PHP

Автор: | 10.08.2026

Сегодня мы настроим ваш сервер так, чтобы он автоматически отправлял (текстовое) оповещение, когда что-то идёт не так. С помощью PHP и Laravel мы будем уведомлять всех администраторов сервера на их телефоны, когда в коде возникает исключение.

Склонируйте приложение и ознакомьтесь с README, чтобы узнать, как запустить его локально.

Давайте начнём!

Здесь мы создаём список людей, которых нужно уведомить в случае ошибки на сервере.

Единственный обязательный элемент данных, который нам нужен, — это `phone_number` для каждого администратора.

Далее мы рассмотрим, как настроить клиент Twilio.

Для отправки сообщения нам нужно создать REST-клиент Twilio, для чего потребуется считать `TWILIO_ACCOUNT_SID`, `TWILIO_AUTH_TOKEN` и `TWILIO_NUMBER` из переменных окружения. `TWILIO_NUMBER` не обязательно должен быть реальным номером — это может быть любой номер на ваш выбор, и он в основном используется для заполнения поля `To` в исходящем сообщении.

Значения для вашего Account SID и Auth Token можно найти в консоли Twilio.

Теперь посмотрим, как обрабатывать исключения в приложении.

Каждый раз, когда в приложении Laravel возникает исключение, его обрабатывает `TwilioExceptionHandler` (подходящее название!).

Именно здесь мы подключаем код отправки SMS. Важно вызвать `parent`, чтобы фреймворк мог выполнить стандартную обработку ошибок.

Далее рассмотрим, как создать пользовательское сообщение.

Здесь мы формируем текст оповещения для отправки по SMS.

Вы также можете добавить к сообщению изображение — например, скриншот приложения в момент сбоя или мем, чтобы успокоить всех.

Теперь посмотрим, как загрузить список администраторов.

Мы считываем список счастливчиков из JSON-файла и отправляем каждому из них сообщение с оповещением с помощью приватного метода `send_message`.

Теперь разберёмся, как отправить текстовое сообщение.

Для отправки SMS через Twilio REST API требуется три параметра: `From`, `To` и `Body`.

После отправки сообщения мы выводим номер телефона, на который отправлено сообщение. Телефонные номера США и Канады также могут отправлять изображения вместе с сообщением. (В других странах будет добавлена сокращённая ссылка на изображение.)

Вот и всё!

Мы только что реализовали автоматическую систему уведомлений о состоянии сервера, которая может рассылать оповещения, если (точнее, когда) что-то пойдёт не так. Теперь рассмотрим несколько других полезных функций, которые вы можете добавить.

PHP и Twilio — отличное сочетание. Вот ещё два замечательных руководства для вас:

Повысьте безопасность вашей системы входа, проверяя мобильный телефон пользователя в дополнение к паролю.

Отправляйте клиентам SMS-уведомления о предстоящих встречах — это руководство покажет, как это сделать из фонового задания.

#### Помогло ли это?

Спасибо за ознакомление с этим руководством! Напишите в Твиттере @twilio, чтобы поделиться своим мнением.