<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Sent on Details...</title>
    <link>https://www.deepreflect.net/tags/sent/</link>
    <description>Recent content in Sent on Details...</description>
    <generator>Hugo</generator>
    <language>en-US</language>
    <copyright>Copyright © 2003 - 2026 Leonardo Rizzi</copyright>
    <lastBuildDate>Tue, 30 Jun 2026 03:28:29 +0200</lastBuildDate>
    <atom:link href="https://www.deepreflect.net/tags/sent/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Perl - Zabbix SMS Allert</title>
      <link>https://www.deepreflect.net/2008/11/21/zabbix-sms-allert/</link>
      <pubDate>Fri, 21 Nov 2008 00:56:33 +0000</pubDate>
       <guid isPermaLink="false">http://blog.deepreflect.net/?p=330</guid> 
      <description>&lt;p&gt;Un netmonitor, non è un vero netmonitor se non fa squillare il telefono del sysadmin con un sms almeno 3 volte a notte, ecco qui uno script in perl per interfacciare zabbix con il servizio fornito da Mobyt tramite un POST http su un loro gateway, con qualche aggiustatina può essere usato anche con altri servizi analoghi.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;#!/usr/bin/perl
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# Leonardo Rizzi
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# Version 0.3
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# SMS sent throuth Mobyt gateway
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# Designed for use without ip autentication only MD5 Hash
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# Attention: there aren&amp;#39;t any check but message limit is of 160 charaters.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;use Digest::MD5  qw(md5_hex);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;use strict;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;use LWP::UserAgent;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;use HTTP::Request::Common qw(POST);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my ($operation, $qty, $rcpt, $query, $out, $ua, $ok, $ko, $data, $from);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my ($code, $id, $password);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$id=&amp;#34;username&amp;#34;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$password=&amp;#34;password&amp;#34;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ok=&amp;#39;SMS Sent Correctly&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ko=&amp;#39;SMS Not Sent&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$from= $ARGV[1];
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$operation=&amp;#34;TEXT&amp;#34;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$qty = &amp;#39;h&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;#attention this fuking provider don&amp;#39;t accept 00 for international area code only + if you use 00 you get sent error
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$rcpt = $ARGV[0];
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$data = $ARGV[2];
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$code = join &amp;#39;&amp;#39;, $id,$operation,$rcpt,$from,$data,$password;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my $ticket=md5_hex($code);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ua = new LWP::UserAgent;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ua-&amp;gt;agent(&amp;#34;SMS_MD5_Relay/0.2 &amp;#34; . $ua-&amp;gt;agent);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my $req = POST &amp;#39;http://smsweb.mobyt.it/sms-gw/sendsmart&amp;#39;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;id =$id,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;operation =&amp;#39;TEXT&amp;#39;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rcpt =$rcpt,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;from =$from,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;data =$data,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;qty =$qty,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ticket=$ticket
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;];
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my $res=$ua-&amp;gt;request($req);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;if ($res-&amp;gt;content =~ /^OK/)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fine_ok (); }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;else
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{ fine_ko (); }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;exit;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sub fine_ko () {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my $msg=shift;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print &amp;#34;$ko\n&amp;#34;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;exit (1);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sub fine_ok () {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my $msg=shift;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print &amp;#34;$ok\n&amp;#34;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;exit (1);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
      <content:encoded><![CDATA[<p>Un netmonitor, non è un vero netmonitor se non fa squillare il telefono del sysadmin con un sms almeno 3 volte a notte, ecco qui uno script in perl per interfacciare zabbix con il servizio fornito da Mobyt tramite un POST http su un loro gateway, con qualche aggiustatina può essere usato anche con altri servizi analoghi.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>#!/usr/bin/perl
</span></span><span style="display:flex;"><span># Leonardo Rizzi
</span></span><span style="display:flex;"><span># Version 0.3
</span></span><span style="display:flex;"><span># SMS sent throuth Mobyt gateway
</span></span><span style="display:flex;"><span># Designed for use without ip autentication only MD5 Hash
</span></span><span style="display:flex;"><span># Attention: there aren&#39;t any check but message limit is of 160 charaters.
</span></span><span style="display:flex;"><span>use Digest::MD5  qw(md5_hex);
</span></span><span style="display:flex;"><span>use strict;
</span></span><span style="display:flex;"><span>use LWP::UserAgent;
</span></span><span style="display:flex;"><span>use HTTP::Request::Common qw(POST);
</span></span><span style="display:flex;"><span>my ($operation, $qty, $rcpt, $query, $out, $ua, $ok, $ko, $data, $from);
</span></span><span style="display:flex;"><span>my ($code, $id, $password);
</span></span><span style="display:flex;"><span>$id=&#34;username&#34;;
</span></span><span style="display:flex;"><span>$password=&#34;password&#34;;
</span></span><span style="display:flex;"><span>$ok=&#39;SMS Sent Correctly&#39;;
</span></span><span style="display:flex;"><span>$ko=&#39;SMS Not Sent&#39;;
</span></span><span style="display:flex;"><span>$from= $ARGV[1];
</span></span><span style="display:flex;"><span>$operation=&#34;TEXT&#34;;
</span></span><span style="display:flex;"><span>$qty = &#39;h&#39;;
</span></span><span style="display:flex;"><span>#attention this fuking provider don&#39;t accept 00 for international area code only + if you use 00 you get sent error
</span></span><span style="display:flex;"><span>$rcpt = $ARGV[0];
</span></span><span style="display:flex;"><span>$data = $ARGV[2];
</span></span><span style="display:flex;"><span>$code = join &#39;&#39;, $id,$operation,$rcpt,$from,$data,$password;
</span></span><span style="display:flex;"><span>my $ticket=md5_hex($code);
</span></span><span style="display:flex;"><span>$ua = new LWP::UserAgent;
</span></span><span style="display:flex;"><span>$ua-&gt;agent(&#34;SMS_MD5_Relay/0.2 &#34; . $ua-&gt;agent);
</span></span><span style="display:flex;"><span>my $req = POST &#39;http://smsweb.mobyt.it/sms-gw/sendsmart&#39;,
</span></span><span style="display:flex;"><span>[
</span></span><span style="display:flex;"><span>id =$id,
</span></span><span style="display:flex;"><span>operation =&#39;TEXT&#39;,
</span></span><span style="display:flex;"><span>rcpt =$rcpt,
</span></span><span style="display:flex;"><span>from =$from,
</span></span><span style="display:flex;"><span>data =$data,
</span></span><span style="display:flex;"><span>qty =$qty,
</span></span><span style="display:flex;"><span>ticket=$ticket
</span></span><span style="display:flex;"><span>];
</span></span><span style="display:flex;"><span>my $res=$ua-&gt;request($req);
</span></span><span style="display:flex;"><span>if ($res-&gt;content =~ /^OK/)
</span></span><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span>fine_ok (); }
</span></span><span style="display:flex;"><span>else
</span></span><span style="display:flex;"><span>{ fine_ko (); }
</span></span><span style="display:flex;"><span>exit;
</span></span><span style="display:flex;"><span>sub fine_ko () {
</span></span><span style="display:flex;"><span>my $msg=shift;
</span></span><span style="display:flex;"><span>print &#34;$ko\n&#34;;
</span></span><span style="display:flex;"><span>exit (1);
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span>sub fine_ok () {
</span></span><span style="display:flex;"><span>my $msg=shift;
</span></span><span style="display:flex;"><span>print &#34;$ok\n&#34;;
</span></span><span style="display:flex;"><span>exit (1);
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div>]]></content:encoded>
    </item>
  </channel>
</rss>
