1. #1

    Registriert seit
    17.12.2011
    Beiträge
    97
    Thanked 37 Times in 27 Posts

    Standard mobilfunk-talk.de SMS-Versand

    Eine Anlehnung an das Script von DMW007

    Mit dem folgenden Script könnt ihr aus PHP heraus SMS über die Seite mobilfunk-talk.de versenden.
    Derzeit sind 2 SMS pro Tag und Handynummer mit einer maximalen Textlänge von 140 Zeichen möglich.
    Dazu gibt es noch ein IP-Basierendes Tageslimit von derzeit glaube ich 5 SMS pro Tag, das könnt ihr mit Proxys umgehen und weitere SMS an eine andere Nummer schicken.

    Es ist auch möglich, eine eigene Absendernummer festzulegen.
    Dafür muss im content folgendes eingefügt werden:

    Code:
    &abs_netz=49160&abs_nr=7777777
    Die Absendernummer muss nicht valide sein. Sie wird dem Empfänger als Absender angezeigt, aber nicht überprüft.
    In dem Beispiel wäre das 01607777777.

    cURL muss installiert und aktiviert sein!

    PHP-Code:
    <?php

    /**
     * @author Integer
     * @copyright 2012
     */
     
    function SendSMS($provider$handyNr$text) {
        
    $provider substr($provider1);
        
        
    $req curl_init();
        
    curl_setopt($reqCURLOPT_URL'http://www.mobilfunk-talk.de/sms/');
        
    curl_setopt($reqCURLOPT_RETURNTRANSFER1);
        
    curl_setopt($reqCURLOPT_POST1);
        
    curl_setopt($reqCURLOPT_POSTFIELDS'netz=49' $provider '&nr=' $handyNr 
        
    '&text=' $text '&agbcheck=on' '&counter=' . (140 strlen($text)) . '&flag=1' /* . '&authcode='  . $auth[1]*/); 
        
    $src curl_exec($req);
        
    curl_close($req); 

        
    preg_match('%<font color="#ff0000">(?:<b>)?(.*?)(?:</b>)?(?:<br />)?</font><br />%m'$src$arrissue);
        
        
    $issue $arrissue[1];
        
        
    /* print_r($arrissue); */
        
        
    if(isset($issue) == 0) print 'Sie haben heute schon 2 SMS versendet. Bitte warten Sie bis morgen!';
        else print 
    $issue;
        
    }

    SendSMS('0160''7777777''Hier steht der zu versendende Text!');  

    ?>
    Geändert von Integer (21.08.2012 um 12:55 Uhr)

  2. #2
    Avatar von DMW007
    Registriert seit
    15.11.2011
    Beiträge
    6.209
    Thanked 9.130 Times in 3.005 Posts
    Blog Entries
    5

    Standard AW: mobilfunk-talk.de SMS-Versand

    PHP-Code:
    print 'SMS Erfolgreich versendet'
    Öhm also wenn man schon Code übersetzt sollte man es auch richtig machen.
    Ich gebe nicht jedes mal 'SMS Erfolgreich versendet' zurück bzw aus. Das ist total unsinnig, da grade bei der Seite Limits existieren die man schnell erreicht, wie 2 SMS pro Handynummer und Tag.
    Wenn man mit deinem Script die 3. SMS an die selbe Handynummer sendet, gibt es auch 'SMS Erfolgreich versendet aus', obwohl überhaupt nix erfolgreich versendet ist.
    Aus dem Grund prüfe ich ob in der Response 'SMS Erfolgreich gesendet' vorkommt, erst dann hat man nämlich die Bestätigung, dass zumindestens seitens mobilfunk-talk.de die SMS auch wirklich gesendet wurde.
    Außerdem sollte man jegliche Ausgaben in Funktionen vermeiden wenn es geht, und hier geht das sehr gut, da es in dem Fall eh nur einen boolschen Rückgabewert gibt.

    PHP-Code:
    function SendSMS($provider$handyNr$text) {
        
    $req curl_init();
        
    curl_setopt($reqCURLOPT_URL"http://www.mobilfunk-talk.de/sms/");
        
    curl_setopt($reqCURLOPT_RETURNTRANSFER1);
        
    $src curl_exec($req);
        
    curl_close($req);
        
        
    preg_match("/name=\"authcode\" value=\"([^\"]+)\">/"$src$auth);
        
        
    $req curl_init();
        
    curl_setopt($reqCURLOPT_URL"http://www.mobilfunk-talk.de/sms/");
        
    curl_setopt($reqCURLOPT_RETURNTRANSFER1);
        
    curl_setopt($reqCURLOPT_POST1);
        
    curl_setopt($reqCURLOPT_POSTFIELDS"netz=49" $provider "&nr=" $handyNr 
        
    "&text=" $text "&agbcheck=on" "&counter=" . (140 strlen($text)) . "&flag=1" "&authcode=" $auth);
        
    $src curl_exec($req);
        
    curl_close($req);

        return 
    stristr($src'sms erfolgreich versendet') !== false;
    }

    $res SendSMS('160''7777777''Hallo, ich bin ein Text, wirklich!'); 
    print 
    'SMS ' . ($res 'erfolgreich' 'nicht erfolgreich') . ' gesendet!'
    Für richtig vernünftiges Errorhandling müsste man die Response eigentlich noch auf die genaue Fehlermeldung prüfen und entsprechende Errorcodes zurückgeben, sodass man zb unterscheiden kann ob der Versand wegen Überschreitung des IP- oder Nummernbezogenen Limits fehlgeschlagen ist.
    Das spar ich mir jetzt aber mal, wer entsprechendes vor hat sodass dies notwendig wäre kann das mit ein paar Zeilen selbst machen.


  3. #3

    Registriert seit
    17.12.2011
    Beiträge
    97
    Thanked 37 Times in 27 Posts

    Standard AW: mobilfunk-talk.de SMS-Versand

    Script verbessert und OBEN editiert.

    - authcode kann weggelassen werden! Daher nur noch 1 Request. Mit flag nicht ausprobiert. (auch nicht wichtig!)
    - Providernummer muss nun mit einer 0 angegeben werden.

    Einigermaßen angepasstes Errorhandling kann bei Bedarf erweitert werden, da ich nicht alle Fehlermeldungen kenne.
    Geändert von Integer (18.11.2014 um 20:37 Uhr)

Ähnliche Themen

  1. Hermes Versand
    Von Roxithro im Forum RealLife
    Antworten: 9
    Letzter Beitrag: 07.03.2013, 14:32
  2. SMS versand nicht möglich (nokia c6-00)
    Von Joker im Forum Mobilgeräte
    Antworten: 7
    Letzter Beitrag: 22.12.2012, 00:01
  3. sextoy für 0euro (+versand)
    Von Chrissy im Forum OffTopic
    Antworten: 4
    Letzter Beitrag: 18.09.2012, 15:43
  4. C# mobilfunk-talk.de SMS-Versand
    Von DMW007 im Forum .Net
    Antworten: 2
    Letzter Beitrag: 09.08.2012, 21:36
  5. Problem bei E-Mail Versand.
    Von Bossgen im Forum Internet und Technik
    Antworten: 2
    Letzter Beitrag: 18.04.2012, 15:13
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.