SMS-Programm

  • Hallo allerseits,

    hat von euch jemand schonmal ein Programm geschrieben, womit man SMS verschicken kann. Also praktisch als Absender seine eigene Nummer angeben, wegen den Kosten, und halt Empfänger an dem man sie verschicken will.
    ??????

  • Nicht ganz über ein Webportal. Ich möchte quasi das man seine Handynummer angiebt, damit die Kosten verrechnet werden halt 19 Cent, dann halt den Absender, an dem die gehen soll und dann ein Textfeld für die SMS.

  • Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    AutoIt Version: 3.2.12.1
    Author: Franz Probst

    [/autoit] [autoit][/autoit] [autoit]

    Script Function:
    smsjoker sms sender
    von Loginkennung des Accounts (Absenderkennung)
    passwort Passwort
    ziel Rufnummer des Empfängers
    absender eigen/anonym (eigene oder anonyme Absenderkennung)
    text die Nachricht (HTTP-kodiert)
    konto Anzeige des Restguthabens (optional)
    http://i2sms.de/cgi-perl/prepa…text=Hallo+Welt
    #ce ----------------------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    ; Script Start - Add your code below here

    [/autoit] [autoit][/autoit] [autoit]

    #include <GUIConstantsEX.au3>
    #include <IE.au3>
    #include <Inet.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $purl = "http://i2sms.de/cgi-perl/prepaid/private/smsversand.cgi?"
    $ziel = ""
    $nachricht = ""

    [/autoit] [autoit][/autoit] [autoit]

    if FileExists("sms.ini") Then
    _Main()
    Else
    $num0 = InputBox("Absendernummer eingeben", "Bitte Absender Rufnummer eingeben")
    $pas = InputBox("Kennwort eigeben", "Passwort eingeben", "", "*")
    $num = StringReplace($num0, " ", "")
    IniWrite("sms.ini", "options", "absender", $num)
    IniWrite("sms.ini", "options", "passwort", $pas)
    MsgBox(64,"Information","Beim nächsten Start wird automatisch die Rufnummer: " & $num & @CRLF & "und das Kennwort als Login verwendet." & @CRLF)
    _Main()
    EndIf

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _Main()
    $ins = iniread("sms.ini", "options", "absender", "not found")
    $ins2 = iniread("sms.ini", "options", "passwort", "not found")

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=U:\autoit\autoit\sms\Form1.kxf
    $Form1_1 = GUICreate("SMS Sender V1.0 for http://www.smsjoker.de", 383, 285, 285, 131)
    $lb_empf = GUICtrlCreateLabel("Empfänger", 56, 48, 55, 17)
    $lb_abs = GUICtrlCreateLabel("Absender", 56, 16, 49, 17)
    $lb_Nachricht = GUICtrlCreateLabel("Nachricht", 56, 112, 50, 17)
    $box_Absender = GUICtrlCreateInput("", 120, 16, 225, 21)
    $box_Empfaenger = GUICtrlCreateInput("", 120, 48, 225, 21)
    $txt_nachricht = GUICtrlCreateEdit("", 120, 112, 233, 105)
    GUICtrlSetLimit(-1, 160)
    $senden = GUICtrlCreateButton("senden", 264, 224, 89, 25, 0)
    $btn_reset = GUICtrlCreateButton("reset", 24, 224, 105, 25, 0)
    $btn_adress = GUICtrlCreateButton("Empfänger aus Adressbuch", 184, 80, 163, 25, 0)
    $Datei = GUICtrlCreateMenu("&Datei")
    $bt_optionen = GUICtrlCreateMenuItem("Optionen", $Datei)
    $bt_ende = GUICtrlCreateMenuItem("Beenden", $Datei)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlSetData($box_Absender, $ins)

    [/autoit] [autoit][/autoit] [autoit]

    if $cmdline[0] > 0 Then
    GUICtrlSetData($box_Empfaenger, $cmdline[1])
    GUICtrlSetData($txt_nachricht, "Hallo " & $cmdline[2] & ", ")
    EndIf

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $bt_ende
    Exit
    Case $senden
    $1 = GUICtrlread($box_Empfaenger)
    $2 = GUICtrlRead($txt_nachricht)
    if $1 = "" then
    MsgBox(64, "", "Empfänger darf nicht leer sein.")
    Exit
    EndIf
    if $2 = "" Then
    MsgBox(64, "", "Nachrichtentext darf nicht leer sein.")
    Exit
    EndIf

    $finaltext = _UnicodeURLEncode(GUICtrlread($txt_nachricht))
    $finalempf = StringReplace(GUICTRLread ($box_Empfaenger), " ", "")
    $url = $purl & "von=" & $ins & "&passwort=" & $ins2 & "&absender=eigen" & "&ziel=" & $finalempf & "&text=" & $finaltext

    ;MsgBox(64,"Fehler","Code: "& $url)
    ;$sText = _INetgetsource($url)
    ;$open = _IECreate($url, 0, 0, 1)
    ;$1sText = _IEBodyReadText ($open)

    if _INetGetSource($url) = "200" then
    MsgBox(64,"success","Nachricht "& GUICtrlread($txt_nachricht) & " wurde erfolgreich verschickt.")
    GUICtrlSetData($txt_nachricht, "")
    GUICtrlSetData($box_Empfaenger, "")
    Else
    $sText = _INetGetSource($url)
    if $sText > "500" Then
    MsgBox(64,"Fehler","Code: "& $sText)
    Else
    MsgBox(64,"Fehler","unkommentierter Fehler.")
    EndIf
    EndIf

    Case $bt_optionen
    GUISetState ( @SW_HIDE, $Form1_1 )
    _optionen()
    Case $btn_reset
    GUICtrlSetData($txt_nachricht, "")
    GUICtrlSetData($box_Empfaenger, "")

    [/autoit] [autoit][/autoit] [autoit]

    Case $btn_adress
    Opt("OnExitFunc", "nummer")
    Exit
    EndSwitch
    WEnd
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func nummer()
    Run(@ScriptDir & "\numern.exe")
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _optionen()
    $ins = iniread("sms.ini", "options", "absender", "not found")
    $ins2 = iniread("sms.ini", "options", "passwort", "not found")

    #Region ### START Koda GUI section ### Form=c:\dokumente und einstellungen\fpr\desktop\autoit\sms\optionen.kxf
    $opt_form = GUICreate("login ändern", 291, 150, 274, 220)
    $Label1 = GUICtrlCreateLabel("Login", 32, 24, 30, 17)
    $Label2 = GUICtrlCreateLabel("Passwort", 32, 64, 47, 17)
    $opt_login = GUICtrlCreateInput("", 104, 24, 137, 21)
    GUICtrlSetData(-1, $ins)
    $opt_passwd = GUICtrlCreateInput("", 104, 64, 137, 21)
    GUICtrlSetData(-1, $ins2)
    $bt_speichern = GUICtrlCreateButton("speichern", 168, 96, 75, 25, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $bt_speichern
    IniWrite("sms.ini", "options", "absender", Guictrlread($opt_login))
    IniWrite("sms.ini", "options", "passwort", Guictrlread($opt_passwd))
    MsgBox(64,"success","erfolgreich gespeichert!")
    GUISetState ( @SW_HIDE, $opt_form)
    _Main()
    Case $GUI_EVENT_CLOSE
    GUISetState ( @SW_HIDE, $opt_form)
    _Main()
    EndSwitch
    WEnd
    EndFunc ;=== _optionen

    [/autoit] [autoit][/autoit] [autoit]

    Func _UnicodeURLEncode($UnicodeURL)
    $UnicodeBinary = StringToBinary ($UnicodeURL, 4)
    $UnicodeBinary2 = StringReplace($UnicodeBinary, '0x', '', 1)
    $UnicodeBinaryLength = StringLen($UnicodeBinary2)
    Local $EncodedString
    For $i = 1 To $UnicodeBinaryLength Step 2
    $UnicodeBinaryChar = StringMid($UnicodeBinary2, $i, 2)
    If StringInStr("$-_.+!*'(),;/?:@=&abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890", BinaryToString ('0x' & $UnicodeBinaryChar, 4)) Then
    $EncodedString &= BinaryToString ('0x' & $UnicodeBinaryChar)
    Else
    $EncodedString &= '%' & $UnicodeBinaryChar
    EndIf
    Next
    Return $EncodedString
    EndFunc ;=== _UnicodeURLEncode

    [/autoit]

    ist aber nicht von mir du musst dich bei der seite anmelden http://smsjoker.de/

  • peethebee

    Also:
    1. eigene Handynummer angeben
    2. Empfängernummer angeben
    3. SMS-Text schreiben
    4. Button "Senden" betätigen
    5. dir werden dann 19 Cent (kommt auf deinen Tarif an welchen du hast) abgrechnet
    6. Empfänger bekommt die SMS von dir ganz normal, sowie als wenn du sie mit deinem Handy geschrieben hast.
    7. die SMS ist in deiner Handyabrechnung mit aufgeführt als ganz normale SMS


    Sirocool

    Ist der Dienst kostenpflichtig, also nicht nur die 19 Cent?

  • @pee ich kann gut nachvollziehen^^

    ... du weisst wie sms verschickt werden oder? Dazu sollte man anschluss an das handynetz haben... glaub ich schonmal nicht das du das hast (also nicht direkt)
    2. man kann es über websiten etc machen...
    /oder irgend ein handy hacken und dieses missbrauchen^^

    3. FÜR WAS???? sinnlos^10

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • ich hasse es SMS zu tippen mit meinem Handy, dauert voll lange. Wie machen es denn die Websiten?

  • danke FireFlyer, hat mir nen bissl geholfen. Jetzt die Frage wie machen das die Webservices und wie geht das mit HTTP?

    • Offizieller Beitrag

    Du könntest höchstens ein "Fernsteuerprogramm" für eine Website schreiben , die SMS versendet . Die Websites verschicken ihre SMS über Gateways , die wirst du aber nicht ansteuern können. Außer du bist ein verdammt guter Hacker. 8|

  • liest sich schon alles n bischen "LUSTIG" - aber es muss ja nicht jeder den Überblick über "alle" Technologien haben *G* /cut

    ich glaube m-obi sucht einfach ein Tool für sein Handy :) - solche Suites gibt es ja mittlerweile für fast alle Hersteller/Modelle

    was er braucht:

    - Kabel -> Handy zu PC
    - Typbezeichnung seines Handy -> Suite vom Hersteller aus dem Netz saugen z.B. Nokia

    dann kann er seine Einstellungen sichern, Logos ändern, Bilder / Musik / Klingeltöne etc hochladen und idR auch SMS verschicken - die er dann ganz normal über die PC Tastatur tippen kann :rock:

    Zitat

    Laughing Man

    "I thought, what I'd do was, I'd pretend I was one of those deaf-mutes"

  • Da geb ich ctec recht, von Nokia gibt ya auch schon diese tolle suit, die sieht dann sogar aus wie den Handy Model x)

  • ja das hatte ich mal geschrieben. Ist aber eine alte version. :D

    Raupi wieso soll man diese Gateways nicht nutzen können? Man kann, aber es kostet halt. bei smsjoker gibt es ein HTTP gateway das man über eine url ansprechen kann.

    Ich habe da eine autoit script und ein php script geschrieben. Funktioniert eigentlich ganz gut.

    ---
    In "Independence Day" konnten die Windows-Erdcomputer problemlos mit denen der Außerirdischen kommunizieren. Was sagt uns das über unseren lieben Bill Gates? :D
    ---

  • Hi m-obi,

    es gäbe eine Möglichkeit die ein wenig kostet. Und eine Möglichkeit die schon genannt wurde.

    Möglichkeit #1:

    1. Du besorgst dir ein GSM-Modul mit Windows/Linux Treiber
    2. Du steckst deine Karte hinein oder eine Partnerkarte (was auch immer)
    3. Du schreibst dir ein Programm, ich bezweifle dass das mit AutoIT geht (bzw. nur über Umwege) welches über AT-Befehle das GSM-Modul steuert und dann kannst du verschicken was du willst.

    Ist aber nicht so einfach. Wir haben an der Arbeit gerade ein GSM/GPRS-Modul herausgebracht, habe schonmal damit rumexperimentiert. Sehr komplexe Angelegenheit. Und wenn du das ganze mit Windows/Linux machen willst denke ich ird es noch komplexer. Ich habe es mit einem Microcontroller und "C" gemacht.


    Möglichkeit #2 (Elektor-Artikel mit Siemens Model:"..." Handy)

    1. Du schließt dein Handy an den PC an.
    2. Du benutzt das Programm welches du bei Elktor herunterladen kannst, das ist auch Quell-Offen und werklest da ein wenig mit rum.

    Problem: "Das Programm wurde soviel ich mich erinnere in "C/C++" für eine Alarmsteuerung geschrieben. Das heißt vordefinierte Texte für die SMS und noch ander Spielerein. Und benutzt dieses dann in Verbindung mit AutoIt um es ein wenig einfacher zu gestalten."

    Mehr Möglichkeiten sehe ich jetzt nicht um deine eigene Nr. zu zeigen bzw. um es über deine KArte zu schicken.

    Generell kann ich nur dazu sagen, es ist ein komplexes Thema!!! Ich bezweifle dass du das so schnell hinbekommst, wenn du dich noch nicht einmal mit den Protokollen/Diensten auskennst.

    LG Nico

  • hm naja kein typischer
    er hat gefragt ob es schon mal einer geschrieben hat und net ob ihm wer des schreiben kann^^

    Padmak