Salut Le 18 octobre 2012 13:39, seydina issa paté <[email protected]> a écrit :
> Merci, je vais essayer d'être le plus explicite possible. > > L'objectif est de ce travail est de tester le contenu d'un fichier, si le > fichier a un contenu, le système démarre automatiquement un service de > kannel, sinon le système ne fait rien ! > > Voici la déclaration du service dans kannel.conf > > group = sms-service > > accepted-smsc = Huawei-E1552 > > keyword = test > > catch-all = true > > exec = "/bin/commande.sh" > > > Voici le script commande.sh > > #! /bin/sh > > #Ce code permet de rediriger la difference de cur et cur1 dans un > fichier cur2 > > > diff /home/seysade/Maildir/cur /home/seysade/Maildir/cur1 | sed > 's/Seulement dans \/home\/seysade\/Maildir\/cur: > //g'>/home/seysade/Maildir/cur2 > > > while read line; > > do > > message=$line > > #Recuperation de la variable message > > # echo $message > > # Cette commande permet a kannel de trier la partie du fichier à envoyer > par sms > > sed -n '/^Notif/,/^Addr/ p' /home/seysade/Maildir/cur/$message > > done < /home/seysade/Maildir/cur2 > > Ce service marche correctement quand j'envoie à partir de mon portable > « test », et j'ai le résultat attendu ! > > > Problème : > > Au lieu d'envoie test à partir de mon portable j'aimerais que le système > le fasse dès qu'il voit que le fichier /fome/seysade/Maildir/cur2 a un > contenu. C'est pour cette raison que j'ai ecris le script ci-dessous > > > #! /bin/sh > > > diff /home/seysade/Maildir/cur /home/seysade/Maildir/cur1 > > /home/seysade/Maildir/cur3 > > > if test -s /home/seysade/Maildir/cur3 > > then > > # Envoie du mot cle « test » par le système à kannel !!! > > fi > > ------------ FIN -------------- > > > Le blocage c'est au niveau du dernier script, je ne sais pas trop la > manière de dire au système de déclencher le service pour que kannel puisse > me repondre sur mon propre numéro !!!!! > > > Soit c'est moi qui est vraiment trop null, (plus que je le suis deja > :) , soit c'est toi qui est trop fort! > > > http://www.kannel.org/download/kannel-userguide-snapshot/userguide.html > > Running SMS gateway > ___________________ > > Using the HTTP interface to send SMS messages > > After you have configured Kannel to allow the sendsms service, you can > send SMS messages via HTTP, e.g., using a WWW browser. The URL looks > something like this: > > http://smsbox.host.name:13013/cgi-bin/sendsms? > username=foo&password=bar&to=0123456&text=Hello+world > > Thus, technically, you make an HTTP GET request. This means that all the > information is stuffed into the URL. If you want to use this often via a > browser, you probably want to make an HTML form for this. > > Kannel will answer to sendsms request with following codes and body texts: > > Table 7-15. SMS Push reply codes > Status Body Meaning > 202 0: Accepted for delivery The message has been accepted and is > delivered onward to a SMSC driver. Note that this status does not ensure > that the intended recipient receives the message. > 202 3: Queued for later delivery The bearerbox accepted and stored > the message, but there was temporarily no SMSC driver to accept the message > so it was queued. However, it should be delivered later on. > 4xx (varies) There was something wrong in the request or Kannel was > so configured that the message cannot be in any circumstances delivered. > Check the request and Kannel configuration. > 503 Temporal failure, try again later. There was temporal failure in > Kannel. Try again later. > > > > 1 .Alors puisque nous savons que Kannel peut recevoir une > demande d'envoi de SMS via HTTP , je pense que ton probleme > est resolue : > > > Ton Probleme > ____________ > Problème : > Au lieu d'envoie test à partir de mon portable j'aimerais que le système > le fasse dès qu'il voit que le fichier /fome/seysade/Maildir/cur2 a > un contenu. C'est pour cette raison que j'ai ecris le script ci-dessous > > > Solution > ________ > 1. Il faut tester si le fichier existe et que il n'es pas vide > 2. Il faut envoyer a kannel la la liste trié (s'il vous plait :)) > qu'ils doit envoyer par SMS > -Supposons que ton fichier contient > > MonFichier.txt > Numero , Text_A_Envoyer > 77777777 , Hello are you fine > > > Tu fais juste: > > # Debut Code > > kannel_url ="http://smsbox.host.name:13013/cgi-bin/sendsms? > username=foo&password=bar&to=%s&text=%s > import os > import urllib > while True: > if os.path.exists("MonFichier.txt"): > with open("MonFichier.txt") as fichier: > lines = fichier.readlines() > while lines: > number, text =lines.pop() > try: > status = urllib.urlopen( > kannel_url%{ "to":number, "text":text }) > except: > # il y'a un erreur gere la ici > else: > # 202 0: Accepted for delivery > # The message has been accepted and is delivered > # onward to a SMSC driver. Note that this status > does not > # ensure that the intended recipient receives the > message. > > > > # Fin Code > > Je ne pense pas que tu es besoin de faire du shell il est trop > puissant pour ce que tu veux faire > > --Ad > > > >
-- Ce message a été envoyé à la liste [email protected] Gestion de votre abonnement : http://dakarlug.org/liste Archives : http://news.gmane.org/gmane.org.user-groups.linux.dakarlug Le site du DakarLUG : http://dakarlug.org
