Добрый день всем!
Пытаюст реализовать отправку смс. До этого такое проделывал с Google Calendar, но из-за бесплатности он не подошёл, так как отпраляет через раз, а то и вообще не отправляет.
Теперь хочу сделать по этой статье
http://www.zabbix.com/wiki/howto/config/alerts/smsapi
А именно второй скрипт через smstrade.de.
Регистрацию на этом сайте прошёл, есть у них и тестовые смски.
С консоли всё отправляется без проблем, даже можно сказать молниеносно. А фот Zabbix никак не хочет парсить этот скрипт. В Администрирование -> Уведомления подсчитывает количество смс при срабатывании триггера, но смс я не получаю
Вот сам скрипт:
#!/usr/bin/php
<?php
/**
* smstrade.de
*
* A simple script to send an SMS via
* www.smstrade.de
*
* $Id: smstrade.php 185 2008-04-08 17:42:08Z antondollmaier $
*/
//Set the following three values:
$key = "xxxxxxxxxx";
$route = "basic";
// sms-sender
$from = "Zabbix";
// if $from is set, route is automatically gold!
// Debugging?
$debug = true;
/************************************************** ********************
do not change below
************************************************** ********************/
if (count($argv)<3) {
die ("Usage: ".$argv[0]." recipientmobilenumber \"subject\" \"message\"\n");
}
if ( $debug ) file_put_contents("/tmp/smstrade_".date("YmdHis"), serialize($argv));
$to = $argv[1];
$subject = $argv[2]; // not being used
$message = $argv[3];
if ( $message == "" || !is_numeric($to) ) {
die("missing params!\n");
}
$apiargs = array(
"key" => $key,
"to" => $to,
"message" => $message,
"route" => $route
);
if ( $from != "") {
$apiargs["route"] = "gold";
$apiargs["from"] = $from;
}
$url = "https://gateway.smstrade.de/?";
$params = "";
foreach ($apiargs as $k=>$v) {
if ( $params != "" ) {
$params .= "&";
}
$params .= $k."=".urlencode($v);
}
$url .= $params;
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url );
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
if ( $result === false ) {
file_put_contents("/tmp/smstrade_error_".date("YmdHis"), curl_error($curl));
die(curl_error($curl)."\n");
} else {
if ( $debug || $result != 100 ) file_put_contents("/tmp/smstrade_answer_".date("YmdHis"), $result);
}
?>
Если кто сталкивался с ткой проблемкой, помогите пожалуйста.
Спасибо заранее.
Пытаюст реализовать отправку смс. До этого такое проделывал с Google Calendar, но из-за бесплатности он не подошёл, так как отпраляет через раз, а то и вообще не отправляет.
Теперь хочу сделать по этой статье
http://www.zabbix.com/wiki/howto/config/alerts/smsapi
А именно второй скрипт через smstrade.de.
Регистрацию на этом сайте прошёл, есть у них и тестовые смски.
С консоли всё отправляется без проблем, даже можно сказать молниеносно. А фот Zabbix никак не хочет парсить этот скрипт. В Администрирование -> Уведомления подсчитывает количество смс при срабатывании триггера, но смс я не получаю

Вот сам скрипт:
#!/usr/bin/php
<?php
/**
* smstrade.de
*
* A simple script to send an SMS via
* www.smstrade.de
*
* $Id: smstrade.php 185 2008-04-08 17:42:08Z antondollmaier $
*/
//Set the following three values:
$key = "xxxxxxxxxx";
$route = "basic";
// sms-sender
$from = "Zabbix";
// if $from is set, route is automatically gold!
// Debugging?
$debug = true;
/************************************************** ********************
do not change below
************************************************** ********************/
if (count($argv)<3) {
die ("Usage: ".$argv[0]." recipientmobilenumber \"subject\" \"message\"\n");
}
if ( $debug ) file_put_contents("/tmp/smstrade_".date("YmdHis"), serialize($argv));
$to = $argv[1];
$subject = $argv[2]; // not being used
$message = $argv[3];
if ( $message == "" || !is_numeric($to) ) {
die("missing params!\n");
}
$apiargs = array(
"key" => $key,
"to" => $to,
"message" => $message,
"route" => $route
);
if ( $from != "") {
$apiargs["route"] = "gold";
$apiargs["from"] = $from;
}
$url = "https://gateway.smstrade.de/?";
$params = "";
foreach ($apiargs as $k=>$v) {
if ( $params != "" ) {
$params .= "&";
}
$params .= $k."=".urlencode($v);
}
$url .= $params;
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url );
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
if ( $result === false ) {
file_put_contents("/tmp/smstrade_error_".date("YmdHis"), curl_error($curl));
die(curl_error($curl)."\n");
} else {
if ( $debug || $result != 100 ) file_put_contents("/tmp/smstrade_answer_".date("YmdHis"), $result);
}
?>
Если кто сталкивался с ткой проблемкой, помогите пожалуйста.
Спасибо заранее.


Comment