SMS verschicken

Sonstiges (nicht kategorisierbar)

Moderator: Moderatoren

Antworten
KlausL
UDF-Programmierer
UDF-Programmierer
Beiträge: 54
Registriert: Fr, 23. Okt 2009 11:38

SMS verschicken

Beitrag von KlausL »

Hallo,

wie kann man mit einem Xbase-Programm eine SMS verschicken? Funktioniert soetwas überhaupt oder muß man z. B. mittels RUNSHELL ein entsprechendes (welches z. B.) Programm aufrufen?

Für Eure Tips vielen Dank im voraus!

Viele Grüße,

Klaus
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: SMS verschicken

Beitrag von Martin Altmann »

Moin Klaus,
wenn Du einen Provider hast, der das Versenden mittels Webfrontend ermöglicht, dann könntest Du das über LoadFromURL() versuchen.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: SMS verschicken

Beitrag von Wolfgang Ciriack »

Hallo Klaus,
ich hab das über einen SOAP-Service mit Xb2.net realisiert, wenn Bedarf besteht kann ich das morgen mal posten.
Viele Grüße
Wolfgang
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: SMS verschicken

Beitrag von AUGE_OHR »

KlausL hat geschrieben:wie kann man mit einem Xbase-Programm eine SMS verschicken?
wie verschickst du sonst SMS aus Windows :?:

Xbase++ kann nichts was Windows nicht kann, also muss du erstmal Windows das SMS beibringen oder wie Wolfgang sagte ein 3PP Tool benutzen.

a.) Die Software zum Handy ist der Ansatzpunkt.
Wenn du dort die Möglichkeit hast mittels PC auf das Handy zuzugreifen und damit SMS zu senden, dann würde ich mir das mal "genauer" ansehen

b.) Das Internet aus dem man SMS versenden kann.
Dies ist aber heutzutage nicht mehr "free" sondern kostet was. Meisten wird der Service von deinem Provider angeboten.

zu a.) Nokia "PC Suite" oder auch die von Motorola (Razor) "Phone-Tools" ist die gewöhnliche Software von solchen Handy´s mit dem man auch SMS vom PC über das Handy verschicken kann.
In verschiedenen Internet Foren wird beschriebe wie man die "hacken" kann um an die DLL´s zu kommen welche die Daten an das Handy senden.

zu b.) Um Xbase++ Internet fähig zu machen brauchst du eine 3PP Lib oder die "professional" Xbase++ Version welche AsiNet enthält.
Als 3PP ist, wie Wolfgang schon sagte, XB2.net geeignet um mit dem SMS Provider zu kommunizieren.

evtl. kannst du es auch mit eine "präparierten" HTML Seite versuchen welche du "uploadest".

Code: Alles auswählen

<!-- saved from url=(0022)http://internet.e-mail -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> Automated SMS-Service </TITLE>

</HEAD>

<BODY BGCOLOR="#FFFFFF" onload="document.sendit.submit">

<FORM name="sendit" action="http://sms.t-online.de/sendsms.cgp" method="post" onsubmit="return .T." target="_top">
<INPUT TYPE=HIDDEN NAME="textarea" VALUE="dies ist ein Test">	<!-- Text -->
<INPUT TYPE=HIDDEN NAME="nummer" Value="1234567">		<!-- Nummer ohne Vorwahl! -->
<INPUt TYPE=HIDDEN NAME="cn_code" VALUE="0049174">		<!-- Vorwahl -->

<!-- cn_code = VORWAHL-Nr.
Nur den ersten Wert einbfügen! also z.B.: "0049174"

0049170 -- D1
0049171 -- D1
0049175 -- D1
0049160 -- D1
0049172 -- D2
0049173 -- D2
0049174 -- D2
0049162 -- D2
0049177 -- E-Plus
0049178 -- E-Plus
0049176 -- Viag
0049179 -- Viag

 -->
<input name="c_code" type="hidden" value='0049'>	<!-- Nicht verändern! -->
<input type="hidden" border="0" name="Submit" src="index-Dateien/senden.gif" alt="SMS-Nachricht senden !">
</form>


</BODY>
</HTML>
aber das hängt dann immer von der Webseite ab ob es "passt"
gruss by OHR
Jimmy
Benutzeravatar
Markus Walter
Programmier-Gott
Programmier-Gott
Beiträge: 1018
Registriert: Di, 24. Jan 2006 10:22
Wohnort: Saarland

Re: SMS verschicken

Beitrag von Markus Walter »

Hallo Klaus,

ich mache das über Phil Ides LoadfromUrl() und den Provider www.smscreator.de.

Ich rufe "einfach" mit LoadfromUrl() eine Website des Anbieters mit entsprechenden Parametern auf. Funktioniert prima. Mann muss halt eine Internetverbindugn haben und ein Kontigent kaufen, dass man dann "ab-sms-t"...

Wenn Du da Hilfe brauchst, kein Problem.
Gruß
Markus

Mitglied der XUG Saarland-Pfalz
KlausL
UDF-Programmierer
UDF-Programmierer
Beiträge: 54
Registriert: Fr, 23. Okt 2009 11:38

Re: SMS verschicken --> AN ALLE

Beitrag von KlausL »

Hallo,

zunächst herzlichen Dank an Euch alle! Ich denke, daß ich mit Euren Tips und konkreten Hilfestellungen weiterkommen werde. Jetzt muß allerdings erst der Kunde seine Entscheidung treffen, ob und wie er es realisiert haben möchte.

Also nochmal, wirklich super von Euch!

PS. In welcher Größenordnung würdet Ihr die Realisierung einschätzen (z. B. 3 Tage oder eher 2 Wochen), ich habe nämlich noch keinerlei Vorstellung?
Benutzeravatar
Lewi
1000 working lines a day
1000 working lines a day
Beiträge: 830
Registriert: Di, 07. Feb 2006 14:10
Wohnort: Hamburg
Danksagung erhalten: 2 Mal

Re: SMS verschicken

Beitrag von Lewi »

Moin Klaus,
der Aufwwand hängt u.a. davon ab, ob es im Rahmen einer separaten Anwendungen entwickelt oder in ein bestehendes Programm integegriert werden soll. Ferner steht der Aufwand auch im Zusammenhang, inwieweit auf vorhandene (fertige) Programm-Routinen z.B. für Mail- oder URL-POST Aktionen zurückgegeriffen werden kann. Desweiteren ist die Ausgestaltung der Lösung zu berücksichtigen. So z.B. dahingehend, ob für ausgehende SMS eine Historie angelegt soll, ob es eine Rechte-Management gibt bzw. imlementiert werden soll, sind Selektionsbedingungen zu berücksichtigen, Einzel- oder Serienversand und ... und ... und.

Kurzum, eine realistische Aufwandsabschätzung ist in Unkenntnis der Randbedingungen m.E. nicht möglich.

Viele Grüße
Olaf
Benutzeravatar
Markus Walter
Programmier-Gott
Programmier-Gott
Beiträge: 1018
Registriert: Di, 24. Jan 2006 10:22
Wohnort: Saarland

Re: SMS verschicken

Beitrag von Markus Walter »

Hi,

vielleicht reicht Klaus ja eine Schätzung für den reinen Versand-Aufruf der SMS (ohne die von Olaf angesprochenen Dinge "rundrum")?!

Dieser Part, d. h. der reine technische Versand über den von mir genannten Provider ist ein 10-Zeiler:
- Zusammenbau der Url
- Aufruf über Phils LoadFromUrl()
- Auswertung der Antwort (prüfen, ob ein bestimmter "Okay-String" drin vorkommt.
Gruß
Markus

Mitglied der XUG Saarland-Pfalz
Benutzeravatar
Hans Zethofer
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 278
Registriert: Fr, 27. Jan 2006 8:29
Wohnort: 2700 Wiener Neustadt
Hat sich bedankt: 1 Mal
Kontaktdaten:

Re: SMS verschicken

Beitrag von Hans Zethofer »

Könntest du bitte diesen 10 Zeiler hier mal zur Verfügung stellen? =D>
Interessehalber - danke
_____________
lg
Hans
Benutzeravatar
Markus Walter
Programmier-Gott
Programmier-Gott
Beiträge: 1018
Registriert: Di, 24. Jan 2006 10:22
Wohnort: Saarland

Re: SMS verschicken

Beitrag von Markus Walter »

Hallo Hans,

das dachte ich mir fast...

Code: Alles auswählen

function SendSMS()
local lRet := .f., cUrl := "", cUser := "xxx", cPasswort := "yyy", cNummer := "01711111111", cText := "Irgendwas"

    cUrl += "http://www.smscreator.de/gateway/Send.asmx/SendSMS?User="
    cUrl += cUser
    cUrl += "&Password="
    cUrl += cPasswort
    cUrl += "&Recipient="
    cUrl += alltrim(cNummer)
    cUrl += "&SMSText="
    cUrl += alltrim(ConvToAnsiCP(cText))
    cUrl += "&SmsTyp=6"
    cUrl += "&SendDate=2008-12-19"

    xResult := LoadFromUrl(cUrl)

    // "einfachste" Auswertung des zurückgegebenen XML-String
    if valtype(xResult) == "C"
      // Ergebnis auswerten
      if at(upper("<StatusCode>Ok</StatusCode>"), upper(xResult)) > 0 .and. at(upper("<Status>Ok</Status>"), upper(xResult)) > 0
        lRet := .t.
    endif

return lRet
So sind es zwar 18 Zeilen, aber wenn ich den Url-String in einer Zeile baue, bin ich sogar bei 9... :D

Habe das jetzt so aus meinem Testprogramm abgetippt, in meiner Applikation ist da natürlich mehr drum rum, aber als Vorlage sollte es genügen...

Evtl. noch Umlaute konvertieren, bzw. evtl. auch eine Url-Encodierung des Textes...
Gruß
Markus

Mitglied der XUG Saarland-Pfalz
Antworten