Как реализовать отправку SMS или email оповещений при выполнении конкретного процесса в базе данных mysql?

Использую базу данных mysql. Имеется две таблицы с идентичными столбцами, во вторую дублируются данные удовлетворяющие условию прописанному в триггере. Как правильно и какими средствами можно реализовать отправку оповещений, содержащих информацию из строк второй таблицы по электронной почте или смс? Более простым языком: в таблицу 2 добавилась запись, нужно отправить письмо или сообщение, что в таблицу 2 записана новая запись и данные из добавленной строки (дата, время, номер телефона, страна, оператор). Приветствуются ссылки, примеры кода. Использую Ubuntu 16.04, phpmyadmin, mysql. Заранее премного благодарен за любую помощь.


Ответы (1 шт):

Автор решения: eri

Делай новый триггер, который дернет sys_exec

DELIMITER $$
CREATE TRIGGER `test_after_insert` AFTER INSERT ON `trig_test` 
FOR EACH ROW BEGIN
SET @exec_var = sys_exec(CONCAT('/usr/local/bin/send_sms +792312345678 "', NEW.id, NEW.date, '"'));
END;
$$
DELIMITER ;

Для проектов с упором на надежность скрипт отправки должен поставить сообщения в очередь на отправку, а другой скрипт их оттуда выгребает.

Очередь реализуется через fifo, socket или через папку с файлами через inotify. Для чего-то крупного через брокер kafka/rabbit.

→ Ссылка