stiziwik
Sie befinden sich hier: Willkommen » linux » Sms-gateway
Zuletzt angesehen: • Sms-gateway

Sms-gateway

Man kann sich mit einem GSM-Modem oder einem Mobiltelefon und einem Linux-Server ein SMS-Gateway erstellen.
Das kann dann z.B. per Postfix Mails mit bestimmter Empfängeradresse annehmen und diese dann zu einer Tel-Nummer ver GSM-Modem als SMS senden.

Hier wird nur eine mögliche Konfiguration beschrieben, es gibt noch einige andere im WWW.

Voraussetzungen

Folgende Software muss vorhanden und eingerichtet werden:

  • Postfix
  • smstools ( z.B. wie hier eingerichtet

Einrichten

Nun verlinkt man sich das Script „email2sms“

ln -s /usr/share/doc/smstools/examples/scripts/email2sms /usr/local/bin/

Der Postfix schreibt im Mail-Header die „To:“ Adresse wie folgt: <EMPFÄNGER>@DOMAIN.TLD>
Das verstehen die SMSTools nicht, daher muss das erste Zeichen „<“ und alle Zeichen einschließlich dem „@“ entfernt werden.
Man kann das in dem email2sms Script lösen in dem man folgende Zeile ändert:

destinations=`formail -zx "To:" < $tmp`

ändern in

destinations=`formail -zx "To:" < $tmp | grep -Eo "[0-9]{3,}"`

Damit nun der Postfix auch eine Mail, mit dem Empfängerformat LÄNDERCODE_TELEFONNUMMER@DOMAIN.TLD (z.B. 49123456789@test.de), an das email2sms Programm sendet, erstellt man sich eine virtuelle Aliases Datei mit Regexp-Patterns und der Anweisung die Mail an den virtuellen Benutzer „sms“ zu senden. Dieser Benutzer wird in der aliases Datei angegeben und angewiesen die Mail an das Programm email2sms zu übergeben. Da die aliases Datei nicht mit Regexp-Patterns umgehen kann muss hier die Umleitung über die virtuelle Aliases-Datei erfolgen. Weiterhin ist es wichtig den Befehl in der aliases Datei mit sudo aufzurufen, da sonst Postfix ein chown auf die SMS-Datei unter /var/spool/sms/outgoing machen kann. Auch hierfür passt man die sudoers Datei und die Berechtigungen auf das Verzeichnis /var/spool/sms/outgoing an.
Jetzt aber genug geredet; hier die Befehle:

  • virtuelle aliases mit Regexp-Patterns
    vi /etc/postfix/sms_aliases


    Inhalt:

    #/^491*/  sms@<DOMAIN>.<TLD>


    Nun die Datei dem Postfix bekannt geben.

    vi /etc/postfix/main.cf


    Hier die Zeile mit alias_maps wie folgt anpassen:

    alias_maps = hash:/etc/aliases, regexp:/etc/postfix/sms_aliases


    Zuletzt noch diesen Befehl ausführen:

    postmap /etc/postfix/sms_aliases
  • aliases Datei anpassen
    vi /etc/aliases


    Inhalt unten einfügen:

    sms:  "|sudo /usr/local/bin/email2sms"


    Nun noch die neuen Aliase bekanntmachen:

    newaliases
  • sudoers Datei anpassen
    visudo


    Inhalt unten einfügen:

    # Fuer Postfix zum senden von SMS
    nobody ALL=(ALL) NOPASSWD: /usr/local/bin/email2sms

Nun kann man einfach eine Mail an den Server senden und ein wenig später kommt diese per SMS an.
Aber Vorsicht nicht zu viele Zeichen versenden ;-)

Mail abschneiden

Nach 160 Zeichen ist bei einer SMS erstmal Schluss. Will man mehr versenden, wird automatisch eine neue SMS versendet.
Das hier angepasste email2sms Script, schneidet die Mail nach 160 Zeichen ab und versendet nur diese ersten 160 Zeichen.

tmp=$(mktemp /tmp/smsgw.XXXXXX)
cat >$tmp
BODY="formail -I "" < $tmp"
destinations=`formail -zx "To:" < $tmp | grep -Eo "[0-9]{3,}"`
IFS=,
for destination in $destinations; do
  destination=${destination## }
  OUTFILE=$(mktemp /var/spool/sms/outgoing/smsgw.out.XXXXXX)
  echo ${BODY:1:160} > $tmp
  formail -f -I "To: $destination" < $tmp > $OUTFILE
  chmod 666 $OUTFILE
  echo "SMS queued to $OUTFILE"
done
rm $tmp
Previous Next

Webseiten-Werkzeuge

  • Letzte Änderungen
  • Medien-Manager
  • Übersicht

Seiten-Werkzeuge

  • Zeige Quelltext
  • Ältere Versionen
  • Links hierher
  • Nach oben

Benutzer-Werkzeuge

  • Anmelden
linux/sms-gateway.txt · Zuletzt geändert: 2014/01/24 14:25 von 127.0.0.1
stiziwik

Table of Contents

Inhaltsverzeichnis

  • Sms-gateway
    • Voraussetzungen
    • Einrichten
    • Mail abschneiden
  • Android
  • Bild-und-video
  • Datenverarbeitung
  • Fahrzeuge
  • Hausautomatisation
  • linux
    • Alix-router
    • Icinga
    • Log-Server
    • Mail
    • Mysql
    • Nagios
    • Owncloud
    • Virtualisierung
    • Webcam
    • Accl Attr
    • Alternativen-System
    • Antivirus-live
    • Anzahl
    • Audacious
    • Audiodateien-umwandeln
    • Avira-Live-Rescue
    • Backupscript
    • Bash
    • Beep-mit-Ringtones
    • Benutzerpassword Deaktivieren
    • Bluetooth
    • Bootvorgang
    • CD-Ripper
    • Clonezilla
    • Coredump
    • Datenrettung
    • Datum Und Uhrzeit
    • dd
    • Desktop-dateien
    • Docker
    • Duplikate
    • Fail2ban
    • Festplatten
    • Fingerprintsensor
    • Gddrescue
    • Geda
    • Genisoimage mkisofs
    • Grub
    • Internetradio
    • Ipod
    • Journalctl
    • Keepass
    • Kernel Bauen
    • Keystore
    • Live-CD erstellen
    • Lnav
    • Lshw-hardware
    • Message-of-the-day
    • Midnight Commander
    • Mongodb
    • Nohup, Hintergrund, anhalten und Co
    • Openssl
    • Pakete bauen
    • Paketverwaltung
    • Passwort-Generator
    • Patches
    • Prüfsumme
    • Quota
    • Remote Desktop Verbindung
    • Request Tracker
    • Rsync
    • Samba
    • Scriptschnipsel
    • Serielle-Konsole
    • Smartmontools
    • Sms-gateway
    • Softwareraid
    • Squid
    • SSH
    • Stats
    • Stresstest
    • Strongswan VPN
    • Sudo
    • Supergrub2disk
    • Supervisord
    • Swap
    • Syslog
    • Systemrescue
    • Tftp
    • Thunderbird
    • Umbenennen
    • Unity Fenstermanager
    • Video-streaming
    • Virenscan-script
    • Virtualbox
    • Virtualisierung
    • Vnc-vino
    • Watchdog
    • Webmin
    • Wmctrl
    • Zeitsynchronisation Mit DCF-77 Empfänger
    • Zoneminder
  • Nas
  • Netzwerk
  • PlayGround
  • Programieren
  • Projekte
  • Raspberry Pi
  • sonstiges
  • VDR
  • Web
  • Werkstatt
  • Wiki
  • sidebar-acmenu
  • sidebar-indexmenu
  • sidebar-simplenavi