Weiter Zurück Inhalt

6. Internetdienste

6.1 sendmail

In /etc/sendmail.cf müssen folgende Zeile geändert werden:


    # "Smart" relay host (may be null)
    DSemail.aon.at

    # class E: names that should be exposed as from this host, even if we masquerade
    # class L: names that should be delivered locally, even if we have a relay
    # class M: domains that should be converted to $M
    #CL root
    CL heimo.schoen

    # who I masquerade as (null for no masquerading) (see also $=M)
    DMaon.at

   

6.2 fetchmail

Zusätzlich wird in der Datei /etc/fetchmail eingetragen, von welchen Servern Mails abgeholt werden sollen. Das könnte wie folgt aussehen:

    poll pop.gmx.net proto pop3
      user "uuuu" pass pppp is llll
    poll mailbox.aon.at proto pop3
      user "aon.kkkk" pass pppp is llll
   

Für uuuu tragen Sie den Usernamen am jeweiligen pop-server ein. Für pppp das Paßwort zu uuuu. Für llll tragen sie den Usernamen ein, für den die Post am lokalen System zur Verfügung gestellt werden soll. Anstatt kkkk tragen Sie Ihre Provider Kundennummer ein (werden Sie zumeist in einem Kuvert erhalten).

Damit nun regelmäßig Mails abgeholt werden habe ich in der Datei /etc/crontab folgende Zeile eingetragen:

     0-59/1  * * * * root  /bin/mailnow 
   

In der Datei /bin/mailnow ist folgender komplexe Inhalt ;-)

    #! /bin/bash

    # fetch mails from isp
    /usr/bin/fetchmail -f /etc/fetchmail
   

Anm.: fetchmail findet man in der SUSE-Distribution in der Gruppe n unter pop

In der Datei /etc/inet.conf die Zeile in der popper gestartet wird, vom Kommentarzeichen befreien. Das -s kann auch entfernt werden. Ich habe einfach die Zeile kopiert, und ohne das -s und ohne Kommentarzeichen am Zeilenanfang, in einer neuen Zeile angefügt. Das sieht dann so aus:

    # pop3      stream  tcp     nowait  root    /usr/sbin/tcpd  /usr/sbin/popper -s
    pop3        stream  tcp     nowait  root    /usr/sbin/tcpd  /usr/sbin/popper
   

Danach sollten Sie den inetd neu starten mit

    /etc/rc.d/inetd restart
   

Nun sollten Sie von Ihren Clientmaschinen bereits Mails abholen können.

6.3 sendmail relaying

Es gibt zwei Möglichkeiten sendmail dazu zu bewegen als Relay für client Rechner zu fungieren.

In /etc/mail/access habe ich die folgende Zeile eingefügt:

    192.168.1       RELAY
   

Man muß danach die access.db neu erzeugen. Das macht man mit dem Kommando

    makemap hash access < access
   

Die andere Methode ist in /etc/mail/relay-domains alle Maschinen eintragen, von denen aus gemailt werden soll. Die Datei /etc/mail/relay-domains könnte so aussehen:

    ternitz1.ternitz
    ternitz1
    192.168.1.1
   

6.4 wwwoffle

Zur Aktivierung von wwwoffle sollten Sie in rc.config die Environmentvariable START_WWWOFFLE auf yes setzen und die Variable START_SQUID auf no.

Nach dieser Arbeit müssen sie /etc/wwwoffle/wwwoffle.conf anpassen. Hier werden nur die zu ändernden Rubriken aufgezählt. Der Rest bleibt unverändert:

Zuerst den Proxyserver

    Proxy
    {
    # http://* = none
     http://* = proxy.aon.at:8080

    #### Example ####
    # Use www.foo.com as a default http proxy server on port 8080
    # Except for the foo.com domain which has no proxy.
    # http://*    = www.foo.com:8080
    # *://foo.com = none
    }
   

Nun die zuständigen Hosts beim Provider.

    LocalHost
    {
    # localhost
     127.0.0.1

     195.3.96.67
     195.3.96.68
     www.aon.at

    #### Example ####
    # The server is on www.foo.com, with IP address 11.22.33.44.
    # www.foo.com
    # 11.22.33.44
    }
   

In der nachfolgenden Rubrik tragen Sie alle Ihre Maschinen ein die auf den wwwoffle Ihres Gateways zugreifen dürfen. Ich habe nachstehend folgende Maschinen freigegeben (schreibweise wie es auch in /etc/hosts stehen könnte):

    AllowedConnectHosts
    {
      ternitz1.ternitz
      ternitz1
      192.168.1.1

      ternitz2.ternitz
      ternitz2
      192.168.1.2


    #### Example ####
    # Only allow connections from hosts in the foo.com domain.
    # *.foo.com
    }
   

Da es keinen etwas angeht "welche Applikation" hier surft, sollten Sie die nachfolgend gezeigte Zeile ändern. Braucht ja keiner zu wissen, daß hier ein wwwoffle die Seiten fetcht und in einem Hausnetz zur Verfügung stellt, denn so wie es bei mir, ist immer nur ein client aktiv und die ganze "übung" mit Linux und wwwoffle ist nur als Verlängerung der ISDN Leitung gedacht, da die Telekom mir das Kabel nicht bis ins Arbeitszimmer gelegt hat, sondern nur bis in den Keller. Also steht dort ein kleiner Rechner und wandelt ISDN auf TCP/IP um.

    CensorHeader
    {

    ### Example ###
    # Don't send the username.
    # From =
    # Don't send Cookies back
    # Cookie =
    # Lie about the Browser type.
    # User-Agent = WWWOFFLE/2.4
    User-Agent = Mozilla/faked
    }
   

Infomrationen zu wwwoffle finden Sie unter /usr/doc/packages/wwwoffle.

6.5 squid

Da in der ersten Version dieses HOWTOs beinahe ein "Glaubenskrieg" ausbrach, ob nun wwwoffle oder squid das bessere Tool ist, findet sich hier der Setup für squid. Ich gebe zu, daß ich um squid in dem HOWTO zu dokumentieren, squid auf meinem Gateway installiert habe und er dort heute noch läuft, was aber umso mehr beweist, daß es IMHO egal ist was ich verwende.

Zur Aktivierung von squid sollten Sie in rc.config die Environmentvariable START_SQUID auf yes setzen und die Variable START_WWWOFFLE auf no.

Nach dieser Arbeit müssen sie /etc/squid.conf anpassen. Hier werden nur die zu ändernden Rubriken aufgezählt. Der Rest bleibt unverändert:

     #  TAG: cache_dir
     #  Usage:
     #  
     #  cache_dir Directory-Name Mbytes Level-1 Level2
     #
     #  You can specify multiple cache_dir lines to spread the
     #  cache among different disk partitions.
     #
     #  'Directory' is a top-level directory where cache swap
     #  files will be stored.  If you want to use an entire disk
     #  for caching, then this can be the mount-point directory.
     #  The directory must exist and be writable by the Squid
     #  process.  Squid will NOT create this directory for you.
     #
     #  If no 'cache_dir' lines are specified, the following
     #  default will be used: /var/squid/cache.
     #
     #  'Mbytes' is the amount of disk space (MB) to use under this
     #  directory.  The default is 100 MB.  Change this to suit your
     #  configuration.
     #
     #  'Level-1' is the number of first-level subdirectories which
     #  will be created under the 'Directory'.  The default is 16.
     #
     #  'Level-2' is the number of second-level subdirectories which
     #  will be created under each first-level directory.  The default
     #  is 256.
     #
     cache_dir /var/squid/cache 400 16 256
   

So könnten Ihr ACLs aussehen. Das ist nur ein Beispiel und entsprechend Ihren Bedürfnissen anzupassen. Vor allem localnet werden Sie entsprechend Ihren Netzwerkgegebenheiten anpassen müssen:

     # ACCESS CONTROLS
     # -----------------------------------------------------------------------------

     #  TAG: acl
     #  Defining an Access List
     #
     #  acl aclname acltype string1 ...
     #  acl aclname acltype "file" ...
     #
     #  when using "file", the file should contain one item per line
     #
     #  acltype is one of src dst srcdomain dstdomain url_pattern
     #          urlpath_pattern time port proto method browser user
     #
     #  By default, regular expressions are CASE-SENSITIVE.  To make
     #  them case-insensitive, use the -i option.
     #
     #  acl aclname src      ip-address/netmask ... (clients IP address)
     #  acl aclname src      addr1-addr2/netmask ... (range of addresses)
     #  acl aclname dst      ip-address/netmask ... (URL host's IP address)
     #  acl aclname myip     ip-address/netmask ... (local socket IP address)
     #
     #  acl aclname srcdomain   foo.com ...     # reverse lookup, client IP
     #  acl aclname dstdomain   foo.com ...     # Destination server from URL
     #  acl aclname srcdom_regex [-i] xxx ...   # regex matching client name
     #  acl aclname dstdom_regex [-i] xxx ...   # regex matching server
     #    # For dstdomain and dstdom_regex  a reverse lookup is tried if a IP
     #    # based URL is used. The name "none" is used if the reverse lookup
     #    # fails.
     #
     #  acl aclname time     [day-abbrevs]  [h1:m1-h2:m2]
     #      day-abbrevs:
     #          S - Sunday
     #          M - Monday
     #          T - Tuesday
     #          W - Wednesday
     #          H - Thursday
     #          F - Friday
     #          A - Saturday
     #      h1:m1 must be less than h2:m2
     #  acl aclname url_regex [-i] ^http:// ... # regex matching on whole URL
     #  acl aclname urlpath_regex [-i] \.gif$ ...       # regex matching on URL path
     #  acl aclname port     80 70 21 ...
     #  acl aclname port     0-1024 ...         # ranges allowed
     #  acl aclname proto    HTTP FTP ...
     #  acl aclname method   GET POST ...
     #  acl aclname browser  [-i] regexp
     #    # pattern match on User-Agent header
     #  acl aclname ident    username ...
     #    # string match on ident output.
     #    # use REQUIRED to accept any non-null ident.
     #  acl aclname src_as   number ... 
     #  acl aclname dst_as   number ...
     #    # Except for access control, AS numbers can be used for
     #    # routing of requests to specific caches. Here's an 
     #    # example for routing all requests for AS#1241 and only 
     #    # those to mycache.mydomain.net:
     #    # acl asexample dst_as 1241
     #    # cache_peer_access mycache.mydomain.net allow asexample
     #    # cache_peer_access mycache_mydomain.net deny all
     #
     #  acl aclname proxy_auth username ...
     #    # list of valid usernames
     #    # use REQUIRED to accept any valid username.
     #    #
     #    # NOTE: when a Proxy-Authentication header is sent but it is not
     #    # needed during ACL checking the username is NOT logged
     #    # in access.log.
     #    #
     #    # NOTE: proxy_auth requires a EXTERNAL authentication program
     #    # to check username/password combinations (see
     #    # authenticate_program).
     #    #
     #    # WARNING: proxy_auth can't be used in a transparent proxy. It
     #    # collides with any authentication done by origin servers. It may
     #    # seem like it works at first, but it doesn't.
     #
     #  acl aclname snmp_community string ...
     #    # A community string to limit access to your SNMP Agent
     #    # Example:
     #    # 
     #    #     acl snmppublic snmp_community public
     #
     #
     acl all src 0.0.0.0/0.0.0.0
     acl manager proto cache_object
     acl localhost src 127.0.0.1
     acl localnet src 192.168.1.0/255.255.255.0             
     acl SSL_ports port 443 563
     acl Safe_ports port 80 21 443 563 70 210 1025-65535
     acl CONNECT method CONNECT
   

Jetzt wird es Zeit Die Zugriffsrechte einzuschränken. Zuerst erlauben wir den Zugriff von localhost und localnet (haben wir gerade die acl eingerichtet) und dann drehen wir alles andere wieder ab (die Originalzeile .. allow all .. bitte hinter Kommentar stellen - sonst steht Ihre Maschine ungeschützt in der weiten Welt):

     #  TAG: http_access
     #  Allowing or Denying access based on defined access lists
     #
     #  Access to the HTTP port:
     #  http_access allow|deny [!]aclname ...
     #
     #  Access to the ICP port:
     #  icp_access  allow|deny [!]aclname ...
     #
     #  NOTE on default values:
     #
     #  If there are no "access" lines present, the default is to allow
     #  the request.
     #
     #  If none of the "access" lines cause a match, the default is the
     #  opposite of the last line in the list.  If the last line was
     #  deny, then the default is allow.  Conversely, if the last line
     #  is allow, the default will be deny.  For these reasons, it is a
     #  good idea to have an "deny all" or "allow all" entry at the end
     #  of your access lists to avoid potential confusion.
     #
     #Default configuration:
     #http_access allow manager localhost
     #http_access deny manager
     #http_access deny !Safe_ports
     #http_access deny CONNECT !SSL_ports
     #
     # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
     #
     http_access allow localhost
     http_access allow localnet
     http_access deny all
     # http_access allow all


     #  TAG: icp_access
     #  Reply to all ICP queries we receive
     #
     icp_access allow all


     #  TAG: miss_access
     #  Use to force your neighbors to use you as a sibling instead of
     #  a parent.  For example:
     #
     #          acl localclients src 172.16.0.0/16
     #          miss_access allow localclients
     #          miss_access deny  !localclients
     #
     #  This means that only your local clients are allowed to fetch
     #  MISSES and all other clients can only fetch HITS.
     #
     #  By default, allow all clients who passed the http_access rules
     #  to fetch MISSES from us.
     miss_access allow all
   

Die wohl wichtigste Funktion ist wie bei wwwoffle das faken der Browserkennung

     #  TAG: fake_user_agent
     #  If you filter the User-Agent header with 'anonymize_headers' it
     #  may cause some Web servers to refuse your request.  Use this to
     #  fake one up.  For example:
     #
     #  fake_user_agent Nutscrape/1.0 (CP/M; 8-bit)
     #  (credit to Paul Southworth pauls@etext.org for this one!)
     #
     fake_user_agent Gozilla/4711.0815 (CP/M; 11-bit; 59 MByte)
   

Mehr habe ich für meinen squid nicht geändert. Der Rest blieb hinter Kommentarzeichen.

6.6 leafnode

Als Newsserver habe ich leafnode gewählt. Hierzu sind folgende Schritte notwendig.

Zuerst sollten Sie das leafnode Konfigurationsfile wie folgt anpassen. Hier ist nur der Anfang des Files gezeigt. Der Rest des Files kann so bleiben. Sie sollten aber gelegentlich man leafnode verinnerlichen und die Parameter ihrem News-Verhalten entsprechend anpassen, sonst haben Sie entweder nie die News die sie gerade lesen wollen oder Ihre Harddisk quillt über, etc.

    ## This is the NNTP server leafnode fetches its news from.
    ## You need read and post access to it. Mandatory.
    server = news.aon.at

    ## Unread discussion threads will be deleted after this many days if
    ## you don't define special expire times. Mandatory.
    expire = 400
    timeout = 60

    ##
    ## All the following parameters are optional
    ##

    ## I have free access to my news server. If you don't have, comment out
    ## the following two lines and change them accordingly.
    # username = 
    #password = 
   

Im obigen Listing-Ausschnitt der Datei /etc/leafnode/config ist wichtig, daß die Zeilen username und password hinter Kommentaren bleiben.

Damit leafnode auch von anderen Servern fetcht habe ich folgende Zeilen eingefügt:

     ## This is a news server which does not understand the 
     ## "LIST NEWSGROUP news.group" command. For this reason, we don't try to
     ## download newsgroups descriptions when getting new newsgroups. This is
     ## achieved by putting "nodesc = 1" somewhere behind the server/supplement
     ## line.
     supplement = news.wu-wien.ac.at
     supplement = news.univie.ac.at
     supplement = newscache.infosys.tuwien.ac.at
     supplement = euklid.nt.tuwien.ac.at
     supplement = news2.informatik.uni-bremen.de

     # nodesc = 1

     ## Here we have another news server which has a very slow connection. For
     ## that reason, we wait a full minute before we give up trying to connect.
     ## The default is 10 seconds.
     supplement = news.inode.at
     timeout = 60
   

Zu guter Letzt noch die leafnode/config für den User news lesbar machen. Am Besten gleich mit:

    chmod a+r /etc/leafnode/config
   

6.7 bind

In /etc/named.conf wird folgender Block aktiviert:

       options {
             ....
             forwarders {
                     195.3.96.67
                     195.3.96.68
                     # = die beiden DNS Server des Providers hier eintragen
             };
             ....
       };
  
In rc.config muß die Variable START_NAMED=yes gesetzt werden.

Dieses Kapitel stammt von Leo Eibler <leo_eibler@gmx.at>.

6.8 DNSmasq

DNSmasq ist eine sehr schlanke alternative zu bind mehr dazu findet man/frau auf http://www.thekelleys.org.uk/dnsmasq/doc.html

Vorteile gegenueber bind:

Im Linux-WiKi gibt es eine schöne Beschreibung zu dnsmasq http://linuxwiki.de/dnsmasq

crontab

Um leafnode dazu zu bewegen regelmäßig news zu fetchen, sind folgende Zeilen in /etc/crontab einzufügen:

     34      2 * * * root  test -x /usr/sbin/fetchnews && /usr/sbin/fetchnews -f
     0-59/5  * * * * root  test -x /usr/sbin/fetchnews && /usr/sbin/fetchnews -v -l
   

Das bewirkt daß alle 5 Minuten ein fetch -v -l durchgeführt wird der alle neuen Artikel fetcht aber nicht die supplementery server befragt und daß um 02:34 täglich ein fetch forced durchgeführt wird, der alle Inhaltsverzeichnisse neu lädt. Dieser Vorgang kann einige Stunden dauern und wurde daher auf 02:34 gelegt da um 02:30 ein fetchnews -f -l läuft der bis um 02:34 fertig sein sollte.

Wenn Sie zusätzlich noch die folgende Zeile einfügen, dann wird alle 60 Sekunden alles was in /var/spool/news/outgoing liegt gepostet.

     0-59/5  * * * * root  test -x /usr/sbin/fetch && /usr/sbin/fetch -P -l
   

inetd.conf

In der Datei /etc/inetd.conf habe ich vor der Zeile in der folgender Inhalt steht, das Kommentarzeichen entfernt:

    nntp        stream  tcp     nowait  news    /usr/sbin/tcpd  /usr/sbin/leafnode
   

6.9 Date/time

Damit mein Rechner im richtige Uhrzeit hat, habe ich /etc/crontab folgende Zeile eingefügt.

    5  0-24/4 * * * root  test -x /bin/datetimenow     && /bin/datetimenow
   

Das Script /bin/datetimenow sieht bei mir folgendermaßen aus:

    #! /bin/bash

    # time adjustement from some timeservers and write time to hardwareclock
    /usr/sbin/netdate elina.htlw16.ac.at \
                      ts1.univie.ac.at   \
                      time.tu-graz.ac.at \
                      time.vbs.at        \
                      ts2.univie.ac.at   \
                      2>&1 > /dev/null   \
                      &&                 \
                      /sbin/hwclock --systohc
   

Vorsicht beim Kopieren mit drag-n-drop: Nach dem Backslash dürfen keine Zeichen im Script stehen (auch keine Leerzeichen und Tabulatoren).

6.10 Anmerkung zur Systemsicherheit

Bei allen diesen Scripts die ich in diesem HOWTO beschrieben habe, wird hier am Beispiel des Scripts datetimenow, noch etwas für die Systemsicherheit getan. Es sollte mit

     chmod a-rwx /bin/datetimenow 
   
für alle User alle Rechte abdrehen und dann mit
     chmod u+rwx /bin/datetimenow 
   
nur dem User die Rechte zurückgeben

Außerdem macht es Sinn wenn Sie noch kontrollieren ob diese Files auch dem User Root und der Gruppe root gehören.

    chown root.root /bin/datentimeow
   

6.11 httpd

Versuchsweise hatte ich einmal einen httpd gestartet. Da es IMHO in den AGB meines Providers nicht verboten ist, aber in der Leistungsbeschreibung des Produkts auch nicht ausdrücklich erlaubt ist, habe ich den http-Server wieder abgeschaltet. Wenn Sie dies auch einmal ausprobieren wollen, dann ändern Sie folgende Zeilen in /etc/http/httpd.conf:

Zuerst alles was mit den Serverprozessen und Servereinstellungen zu tun hat. Doppelpunkte deuten an, daß dazwischen noch so manche andere, aber unveränderte Zeile vorkommt. Nach Möglichkeit steht hinter Kommentarzeichen oberhalb der geänderten Zeile, die Originalzeile wie Sie bei Ihnen zu Anfang noch sein könnte/sollte.

     :
    MinSpareServers 5
    MaxSpareServers 10
     :
    StartServers 5
     :
    MaxRequestsPerChild 30
     :
    ServerAdmin heimo.schoen@gmx.at
     :
    #DocumentRoot "/usr/local/httpd/htdocs"
    DocumentRoot "/home/heimo/public_html"
     :
    <Directory />
    #   Options -FollowSymLinks
       Options FollowSymLinks
       AllowOverride None
    </Directory>
     :
    #<Directory "/usr/local/httpd/htdocs">
    <Directory "/home/heimo/public_html">
     :
    #   Options Indexes -FollowSymLinks +Includes
       Options Indexes FollowSymLinks Includes ExecCGI
     :
    #    AllowOverride None
        AllowOverride All
     :
    #<Directory /home/*/public_html>
    #    AllowOverride FileInfo AuthConfig Limit
    #    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    #    <Limit GET POST OPTIONS PROPFIND>
    #        Order allow,deny
    #        Allow from all
    #    </Limit>
    #    <Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
    #        Order deny,allow
    #        Deny from all
    #    </Limit>
    #</Directory>
    <Directory /home/*/public_html>
        AllowOverride FileInfo AuthConfig Limit
        Options MultiViews Indexes SymLinksIfOwnerMatch Includes ExecCGI
        <Limit GET POST OPTIONS PROPFIND>
            Order allow,deny
            Allow from all
        </Limit>
        <Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
            Order deny,allow
            Deny from all
        </Limit>
    </Directory>
     :
    #ServerSignature On
    ServerSignature EMail
     :
    #ScriptAlias /cgi-bin/ "/usr/local/httpd/cgi-bin/"
    ScriptAlias /cgi-bin/ "/home/heimo/public_html/cgi-bin/"
     :
    #<Directory "/usr/local/httpd/cgi-bin">
    #    AllowOverride None
    #    Options None
    #    Order allow,deny
    #    Allow from all
    #</Directory>
    <Directory "/home/heimo/public_html/cgi-bin/">
        AllowOverride All
        Options All
        Order allow,deny
        Allow from all
    </Directory>
    <Directory "/usr/local/httpd/cgi-bin/">
        AllowOverride None
        Options All
        Order allow,deny
        Allow from all
    </Directory>
     :
    #<Location /cgi-bin>
    #AllowOverride None
    <Location /cgi-bin/>
    AllowOverride All
     :
    #DocumentRoot "/usr/local/httpd/htdocs"
    #ServerName boole.suse.de
    #ServerAdmin root@boole.suse.de
    DocumentRoot /home/heimo/public_html
    ServerName pc104-1.ternitz
    ServerAdmin heimo.schoen@gmx.at
     :
   

Damit auch in .html Files eingebettete Skripts ausgeführt werden, sollte die letzte Zeile des nachstehenden Blocks eingefügt werden (die ersten beiden Zeilen gibt es schon im Original httpd.conf).

    #
    # To use server-parsed HTML files
    #
    AddType text/html .shtml
    AddHandler server-parsed .shtml
    AddHandler server-parsed .html
   

6.12 SMS

SMS-Routinen von http://idefix.htl-tex.ac.at

Dieses Kapitel soll zeigen welche Möglichkeiten die SMS Dienste der Handy-Provider bieten. Einerseits habe ich im File /etc/ppp/ip-up folgende Zeile eingefügt an der Stelle wenn die PPP-Verbindung hochgefahren wird:

      # Ein SMS könnte ich mir auch noch schicken
      echo "ip-up on ppp0 $LOCALIP $USER" | mail -s "xxxx-" 436763163472@max.mail.at
     
Wobei xxxx- der PIN ist, den Sie als Antwort auf das erste SMS erhalten, daß Sie an ein maxmobil-Handy senden. Das Minus am Ende des PIN teilt dem max.mail.at mit, daß er keine Zustellungsquittung senden soll.

Ähnliche Zeilen können Sie auch in anderen Scripts einfügen. Z. B. in /etc/profile.local kann ein SMS Ihnen mitteilen, wenn sich jemand auf Ihrem Gateway einloggt.

Wie Sie ein Mail als SMS an Ihr Handy weiterleiten können wird in SMS-forward unter Linux erklärt.

SMS-Routinen von Christian Eder

Von Christian Eder <chris_eder@aon.at> stammt der folgende Beitrag mit einigen Scripts zum Senden von SMS an One-Handies:

OneSMS.java ist ein Javaprogramm, dass eine SMS an ein One Handy schickt. Aufruf: java OneSMS [Onenummer ohne Vorwahl] [Nachricht]. Ich hab dieses Programm geschrieben, da die im vorigen Kapitel erwähnten SMS Skripts nicht mehr funktionieren (One hat den WebSMS Dienst etwas geändert). Prinzipiell müsste das Programm auch für A1 und Max funktionieren, wenn man den Wert der Variablen gsmnet entsprechend ändert.

newip.sh ist ein Skript, daß überprüft ob sich die IP-Addresse geändert hat und in diesem Fall die neue IP-Addresse als SMS ans Handy schickt.

.forward und handymail.sh kann man verwenden, um beim Eintreffen einer neuen EMail Absender und das Subject als SMS aufs Handy zu bekommen.


Weiter Zurück Inhalt