Die beste SMS-API, die ich in Java gesehen habe, ist JSMPP. Es ist leistungsstark, einfach zu bedienen und ich habe es selbst für eine Anwendung auf Unternehmensebene verwendet (täglich über 20.000 SMS-Nachrichten senden).
Diese API wurde erstellt, um die Ausführlichkeit der vorhandenen SMPP-API zu verringern. Es ist sehr einfach und benutzerfreundlich, da es die Komplexität der Protokollkommunikation auf niedriger Ebene verbirgt, z. B. die automatische Abfrage von Verbindungsanfragen und -antworten.
Ich habe einige andere APIs wie Ozeki ausprobiert, aber die meisten davon sind entweder kommerziell oder haben einen eingeschränkten Durchsatz (dh sie können beispielsweise nicht mehr als 3 SMS-Nachrichten pro Sekunde senden).
Das Senden von SMS mit der Nexmo Java Library ist ziemlich einfach. Nachdem Sie ein neues Konto erstellt , eine virtuelle Nummer gemietet und Ihren API-Schlüssel und Ihr Geheimnis erhalten haben, können Sie die Bibliothek verwenden, um SMS wie folgt zu senden:
publicclassSendSMS{publicstaticvoid main(String[] args)throwsException{AuthMethod auth =newTokenAuthMethod(API_KEY, API_SECRET);NexmoClient client =newNexmoClient(auth);TextMessage message =newTextMessage(FROM_NUMBER, TO_NUMBER,"Hello from Nexmo!");//There may be more than one response if the SMS sent is more than 160 characters.SmsSubmissionResult[] responses = client.getSmsClient().submitMessage(message);for(SmsSubmissionResult response : responses){System.out.println(response);}}}
Um SMS zu empfangen, müssen Sie einen Server einrichten, der einen Webhook verwendet. Das ist auch ziemlich einfach. Ich empfehle, unser Tutorial zum Empfangen von SMS mit Java zu lesen .
Mit TextMarks können Sie auf den freigegebenen Shortcode zugreifen, um Textnachrichten von Ihrer App über deren API zu senden und zu empfangen. Nachrichten kommen von / bis 41411 (anstelle von z. B. einer zufälligen Telefonnummer und im Gegensatz zu E-Mail-Gateways stehen Ihnen die vollen 160 Zeichen zur Verfügung).
Sie können Personen auch anweisen, Text in Ihren Schlüsselwörtern an 41411 zu senden, um verschiedene Funktionen in Ihrer App aufzurufen. Es gibt einen JAVA API-Client zusammen mit mehreren anderen gängigen Sprachen sowie eine sehr umfassende Dokumentation und technischen Support.
Die 14-tägige kostenlose Testversion kann problemlos für Entwickler erweitert werden, die sie noch testen und ihre Apps erstellen.
Sie können die LOGICA SMPP Java API zum Senden und Empfangen von SMS in einer Java-Anwendung verwenden. LOGICA SMPP ist eine bewährte API für Telekommunikationsanwendungen. Die Logica-API bietet Ihnen auch Signalisierungsmöglichkeiten für TCP / IP-Verbindungen.
Sie können sich direkt in verschiedene Telekommunikationsbetreiber auf der ganzen Welt integrieren.
Es gibt zwei Möglichkeiten: Erstens: Verwenden Sie ein SMS-API-Gateway, für das Sie bezahlen müssen. Vielleicht finden Sie einige kostenlose Testversionen, aber es ist selten. Zweitens: Verwenden des AT-Befehls mit einem Modem-GSM, das an Ihren Laptop angeschlossen ist. das ist alles
Es hängt davon ab, wie Sie arbeiten und wer Ihr Provider ist.
Wenn Sie mit einem SMS-Gateway-Unternehmen zusammenarbeiten, arbeiten Sie wahrscheinlich mit dem SMPP-Protokoll (3.4 ist immer noch das am häufigsten verwendete). Schauen Sie sich dann OpenSMPP und jSMPP an. Dies sind leistungsstarke Bibliotheken für die Arbeit mit SMPP.
Wenn Sie mit Ihrer eigenen Hardware (z. B. einem GSM-Modem) arbeiten möchten, können Sie Nachrichten am einfachsten über AT-Befehle senden. Diese unterscheiden sich je nach Modell. Sie sollten daher herausfinden, welche AT-Befehle von Ihrem Modem unterstützt werden . Wenn Ihr Modem eine IP-Adresse hat und für eine Verbindung offen ist, können Sie Befehle über den Java-Socket senden
Socket smppSocket =newSocket("YOUR_MODEM_IP", YOUR_MODEM_PORT);DataOutputStream os =newDataOutputStream(smppSocket.getOutputStream());DataInputStream is =newDataInputStream(smppSocket.getInputStream());
os.write(some_byte_array[]);
is.readLine();
Andernfalls arbeiten Sie über einen COM-Port, aber die Methode ist dieselbe (Senden von AT-Befehlen). Weitere Informationen zum Arbeiten mit seriellen Ports finden Sie hier .
Wenn Sie Kannel konfigurieren, werden Sie ins Schwitzen geraten, wenn Sie es mit einem Modem konfigurieren können. Teilen Sie die Prozeduren mit.
Dun0523
2
Ich schlage eine Cloud-basierte Lösung wie Twilio vor. Cloud-basierte Lösungen sind kostengünstiger als eine interne Lösung, da keine laufende Wartung erforderlich ist. SMS per E-Mail ist keine elegante Lösung, da Sie die Carrier-Informationen vom Benutzer erhalten müssen und nie sicher sein können, dass Sie alle Handynummern per SMS senden können. Ich verwende Twilio Java API in meiner Webanwendung, um SMS vom Server zu senden. Innerhalb weniger Minuten können Sie sich in Ihre App integrieren.
Bezahlt, aber es ist weniger als ein Cent pro SMS.
Karthik Sankar
1
smslib ist für diesen Zweck sehr nützlich. Sie können ein Modem mit Ihrem PC verbinden und diese Bibliothek zum Senden von SMS verwenden. Es funktioniert, ich habe es benutzt
Wir lieben auch Java in Wavecell , aber diese Frage kann ohne sprachspezifische Details beantwortet werden, da wir eine REST-API haben, die die meisten Ihrer Anforderungen abdeckt:
Sie können Twilio dafür verwenden. Wenn Sie jedoch nach einer schwierigen Problemumgehung suchen, können Sie die unten erwähnte Problemumgehung befolgen.
Dies ist für den Empfang von SMS nicht möglich. Dies ist jedoch eine schwierige Methode, mit der Sie SMS an eine Anzahl von Clients senden können. Sie können die Twitter-API verwenden. Wir können den Twitter-Account von unserem Handy aus per SMS verfolgen. Wir müssen nur SMS an Twitter senden. Stellen Sie sich vor, wir erstellen ein Twitter-Konto mit dem Benutzernamen @username. Dann können wir wie unten gezeigt eine SMS an 40404 senden.
follow @username
Dann bekommen wir Tweets, die in diesem Account getwittert werden.
Nachdem wir ein Twitter-Konto erstellt haben, können wir die Twitter-API verwenden, um Tweets von diesem Konto zu veröffentlichen. Dann beginnen alle Kunden, die diesem Konto folgen, wie ich bereits erwähnt habe, Tweets zu erhalten.
Unter folgendem Link erfahren Sie, wie Sie Tweets mit der Twitter-API veröffentlichen.
Bevor Sie mit der Entwicklung beginnen, müssen Sie die Erlaubnis zur Verwendung der Twitter-API einholen. Sie können über den folgenden Link auf die Twitter-API zugreifen.
Wenn Sie nur einfache Benachrichtigungen wünschen, unterstützen viele Netzbetreiber SMS per E-Mail. Siehe SMS per E-Mail
quelle
Die beste SMS-API, die ich in Java gesehen habe, ist JSMPP. Es ist leistungsstark, einfach zu bedienen und ich habe es selbst für eine Anwendung auf Unternehmensebene verwendet (täglich über 20.000 SMS-Nachrichten senden).
Ich habe einige andere APIs wie Ozeki ausprobiert, aber die meisten davon sind entweder kommerziell oder haben einen eingeschränkten Durchsatz (dh sie können beispielsweise nicht mehr als 3 SMS-Nachrichten pro Sekunde senden).
quelle
Es gibt eine API namens SMSLib, es ist wirklich großartig. http://smslib.org/
Jetzt haben Sie viele Saas-Anbieter, die Ihnen diesen Service mithilfe ihrer APIs anbieten können
Beispiel: Mailchimp, Esendex, Twilio, ...
quelle
Sie können dies mit einem GSM-Modem und einer Java-Kommunikations-API tun.
Zuerst müssen Sie Java Comm Api einstellen
In diesem Artikel wird ausführlich beschrieben, wie Sie die Kommunikations-API einrichten
Als nächstes benötigen Sie ein GSM-Modem (vorzugsweise sim900-Modul)
Java JDK neueste Version vorzuziehen
AT Command Guide
Code
Paket Probe;
quelle
Sie können Nexmo verwenden, um SMS zu senden und zu empfangen .
Das Senden von SMS mit der Nexmo Java Library ist ziemlich einfach. Nachdem Sie ein neues Konto erstellt , eine virtuelle Nummer gemietet und Ihren API-Schlüssel und Ihr Geheimnis erhalten haben, können Sie die Bibliothek verwenden, um SMS wie folgt zu senden:
Um SMS zu empfangen, müssen Sie einen Server einrichten, der einen Webhook verwendet. Das ist auch ziemlich einfach. Ich empfehle, unser Tutorial zum Empfangen von SMS mit Java zu lesen .
Offenlegung: Ich arbeite für Nexmo
quelle
Mit TextMarks können Sie auf den freigegebenen Shortcode zugreifen, um Textnachrichten von Ihrer App über deren API zu senden und zu empfangen. Nachrichten kommen von / bis 41411 (anstelle von z. B. einer zufälligen Telefonnummer und im Gegensatz zu E-Mail-Gateways stehen Ihnen die vollen 160 Zeichen zur Verfügung).
Sie können Personen auch anweisen, Text in Ihren Schlüsselwörtern an 41411 zu senden, um verschiedene Funktionen in Ihrer App aufzurufen. Es gibt einen JAVA API-Client zusammen mit mehreren anderen gängigen Sprachen sowie eine sehr umfassende Dokumentation und technischen Support.
Die 14-tägige kostenlose Testversion kann problemlos für Entwickler erweitert werden, die sie noch testen und ihre Apps erstellen.
Überprüfen Sie es hier: TextMarks API Info
quelle
Sie können die LOGICA SMPP Java API zum Senden und Empfangen von SMS in einer Java-Anwendung verwenden. LOGICA SMPP ist eine bewährte API für Telekommunikationsanwendungen. Die Logica-API bietet Ihnen auch Signalisierungsmöglichkeiten für TCP / IP-Verbindungen.
Sie können sich direkt in verschiedene Telekommunikationsbetreiber auf der ganzen Welt integrieren.
quelle
Es gibt zwei Möglichkeiten: Erstens: Verwenden Sie ein SMS-API-Gateway, für das Sie bezahlen müssen. Vielleicht finden Sie einige kostenlose Testversionen, aber es ist selten. Zweitens: Verwenden des AT-Befehls mit einem Modem-GSM, das an Ihren Laptop angeschlossen ist. das ist alles
quelle
Es hängt davon ab, wie Sie arbeiten und wer Ihr Provider ist.
Wenn Sie mit einem SMS-Gateway-Unternehmen zusammenarbeiten, arbeiten Sie wahrscheinlich mit dem SMPP-Protokoll (3.4 ist immer noch das am häufigsten verwendete). Schauen Sie sich dann OpenSMPP und jSMPP an. Dies sind leistungsstarke Bibliotheken für die Arbeit mit SMPP.
Wenn Sie mit Ihrer eigenen Hardware (z. B. einem GSM-Modem) arbeiten möchten, können Sie Nachrichten am einfachsten über AT-Befehle senden. Diese unterscheiden sich je nach Modell. Sie sollten daher herausfinden, welche AT-Befehle von Ihrem Modem unterstützt werden . Wenn Ihr Modem eine IP-Adresse hat und für eine Verbindung offen ist, können Sie Befehle über den Java-Socket senden
Andernfalls arbeiten Sie über einen COM-Port, aber die Methode ist dieselbe (Senden von AT-Befehlen). Weitere Informationen zum Arbeiten mit seriellen Ports finden Sie hier .
quelle
OMK.smpp. API. Es basiert auf SMPP und der Simulator ist ebenfalls kostenlos verfügbar
LOGICA SMPP API.
Eine weitere Option ist Kannel, ein kostenloses WAP- und SMS-Gateway.
quelle
Ich schlage eine Cloud-basierte Lösung wie Twilio vor. Cloud-basierte Lösungen sind kostengünstiger als eine interne Lösung, da keine laufende Wartung erforderlich ist. SMS per E-Mail ist keine elegante Lösung, da Sie die Carrier-Informationen vom Benutzer erhalten müssen und nie sicher sein können, dass Sie alle Handynummern per SMS senden können. Ich verwende Twilio Java API in meiner Webanwendung, um SMS vom Server zu senden. Innerhalb weniger Minuten können Sie sich in Ihre App integrieren.
https://www.twilio.com/docs/java/install
Hier ist ein Beispiel für das Senden einer SMS-Nachricht aus den Dokumenten:
quelle
smslib ist für diesen Zweck sehr nützlich. Sie können ein Modem mit Ihrem PC verbinden und diese Bibliothek zum Senden von SMS verwenden. Es funktioniert, ich habe es benutzt
quelle
Wir lieben auch Java in Wavecell , aber diese Frage kann ohne sprachspezifische Details beantwortet werden, da wir eine REST-API haben, die die meisten Ihrer Anforderungen abdeckt:
Sehen Sie sich diese Fragen an, wenn Sie Probleme beim Senden von HTTP-Anforderungen in Java haben:
In bestimmten Fällen können Sie auch die Verwendung der SMPP-API in Betracht ziehen. Die bereits erwähnte JSMPP- Bibliothek hilft dabei.
quelle
Sie können Twilio dafür verwenden. Wenn Sie jedoch nach einer schwierigen Problemumgehung suchen, können Sie die unten erwähnte Problemumgehung befolgen.
Dies ist für den Empfang von SMS nicht möglich. Dies ist jedoch eine schwierige Methode, mit der Sie SMS an eine Anzahl von Clients senden können. Sie können die Twitter-API verwenden. Wir können den Twitter-Account von unserem Handy aus per SMS verfolgen. Wir müssen nur SMS an Twitter senden. Stellen Sie sich vor, wir erstellen ein Twitter-Konto mit dem Benutzernamen
@username
. Dann können wir wie unten gezeigt eine SMS an 40404 senden.follow @username
Dann bekommen wir Tweets, die in diesem Account getwittert werden.
Nachdem wir ein Twitter-Konto erstellt haben, können wir die Twitter-API verwenden, um Tweets von diesem Konto zu veröffentlichen. Dann beginnen alle Kunden, die diesem Konto folgen, wie ich bereits erwähnt habe, Tweets zu erhalten.
Unter folgendem Link erfahren Sie, wie Sie Tweets mit der Twitter-API veröffentlichen.
Twitter API
Bevor Sie mit der Entwicklung beginnen, müssen Sie die Erlaubnis zur Verwendung der Twitter-API einholen. Sie können über den folgenden Link auf die Twitter-API zugreifen.
Twitter Developer Console
Dies ist nicht die beste Lösung für Ihr Problem. Aber hoffen Sie diese Hilfe.
quelle
Sie können AT & T-Befehle zum Senden von SMS mit einem GSM-Modem verwenden.
quelle