Handbuch Versendung von SMS per email


Bevor Sie diese Schnittstelle nutzen, denken Sie darüber nach, ob es nicht einfacher wäre, stattdessen unsere http-Schnittstelle zu nutzen. Dort müssten Sie für jede SMS einen separaten URL-Aufruf machen.

  1. Festes E-Mail Format umwandeln (einfach)
  2. XML -Schnittstelle (flexibler)
  3. Sendeberichte empfangen
  4. Antworten empfangen
  5. Individuell
  6. Problemlösungen
  7. Programmier-Beispiele

1.) Festes E-Mail Format umwandeln

Sie schreiben eine email mit dem Mailprogramm Ihrer Wahl und senden die email im reinen Textformat (nicht HTML) an unser SMS-Gateway sms@sms4.de.

Die Umwandlung funktioniert nur, wenn die email-Adresse des Senders dem System bekannt ist. Tragen Sie die email-Adresse mit der Sie senden daher zuvor unter Einrichten -> Email-Berechtigungen ein.
Dies dient dazu, ausgehende SMS auf Benutzer/Kunden abrechnen zu können. Die email-Adresse des neu angelegten Benutzers wird automatisch für das Gateway freigeschaltet. Um einem einzelnen Benutzer manuell den Zugang zum email-SMS-Gateway zu sperren (oder zu öffnen) können Benutzer mit Administrator-Rechten unter Verwaltung -> Email-Berechtigungen die email-Adressen einzeln hinzufügen oder löschen.

Alle Aufträge, die an das E-Mail-to-SMS-Gateway sms@sms4.de gesendet werden, werden standardmäßig auf Dubletten geprüft. Aufträge (d.h. E-Mails), die in den letzten 24h mit dem gleichen Text an die gleichen Empfänger bereits versendet wurden, werden ausgefiltert. Dieser Filter kann abgeschaltet werden je Benutzer unter Einrichten -> Versand-Optionen.

Bitte senden Sie die email als reinen Text, nicht als HTML.

Beispiel 1:

Beispiel 2:

Die Email muss folgendes Layout haben:

An / To:
Bitte unsere Emailadresse sms@sms4.de für das E-Mail->SMS Gateway angeben.

Betreff / Subject:
Dort können Sie etwas Beliebiges eingeben (die Eingabe wird nicht weiterverarbeitet).

Nachricht / Body:
Im Body der Email müssen Sie SMS4.de Schlüsselwörter angeben. Die Schlüsselwörter werden gefolgt von einem Doppelpunkt : und dem nachfolgenden Wert.
SchlßsselwortBeispielBeschreibung
KUNDENNR (Pflicht)KUNDENNR:XY12345Ihre SMS4.de Kundennummer hier kostenlos beantragen
HANDYNR (Pflicht)HANDYNR:01701010101
HANDYNR:491701010102
HANDYNR:436012345678
Die Zielnummern. Wenn Sie an mehrere Empfänger gleichzeitig schreiben wollen, schreiben Sie die Schlüsselwörter untereinander, z.B.
HANDYNR:01701010101
HANDYNR:01701010102
oder
HANDYNR:491701010101
HANDYNR:491701010102
SMS ins Ausland immer mit Ländercode ohne + oder führende Nullen angeben z.B. für Österreich Vorwahl +43:
HANDYNR:436012345678
oder Schlßsselwort LAND verwenden (siehe unten)
TEXT (Pflicht)TEXT:Dies ist mein Text\nNeue ZeileDer Text der SMS, 160 Zeichen (ISO-8859-15). Zeilenumbrüche werden durch Eingabe von \n im Text realisiert.
TEXT1
TEXT2
TEXT3
(optional anstatt TEXT)
TEXT1:Dies ist mein Text in Zeile 1
TEXT2:Weil er mehr als 60 Zeichen hat, kommt
TEXT3:der Rest in Zeile 2 und 3
Bei manchen Mailprogrammen z.B. Outlook kann es vorkommen, dass automatisch Zeilenumbrüche nach 76 Zeichen eingefügt werden. Falls Sie deshalb feststellen, das nur die ersten ca. 70 Zeichen übertragen werden, splitten Sie den Text in 3 Zeilen mit
TEXT1:Hier die ersten ca. 50 Zeichen
TEXT2:Hier die nächsten ca. 50 Zeichen
TEXT3:Hier die nächsten ca. 50 Zeichen

Ohne Zeilenumbrüche (ENTER-Taste) innerhalb des Textes ! Zeilenumbrüche werden durch Eingabe von \n im Text realisiert.
ABSENDER (optional)ABSENDER:Der-PeterDie Absenderkennnung nur für Tarif 1 und 5:
6 bis 11 Zeichen Text (keine Sonderzeichen) oder 6 bis 14 Ziffern, bei Tarif 5 - SMS ins Festnetz - sind nur Ziffern erlaubt
(Den Vorgabewert können Sie in den Einstellungen angeben).
TARIF (optional)TARIF:1Bei Tarif ist 1 oder 7 möglich. Details zu den Tarifen finden Sie in der Preisliste.
Der Vorgabewert ist standardmäßig 1, kann aber benutzerspezifisch unter den Einstellungen festgelegt werden.
SENDEZEIT (optional)SENDEZEIT:12.05.2010 09:45Die gewünschte Versendezeit der SMS im Format tt.mm.jjjj hh:mm
LAND (optional) LAND:43
HANDYNR:06012345678
HANDYNR:06012345679
Ländercode der Zielnummern in HANDYNR ohne + oder führende Nullen. Kann nur einmal pro E-Mail verwendet werden.
Nicht verwenden, wenn die Zielnummern bereits den Ländercode enthalten! Die Kombination von z.B.
LAND:43
HANDYNR:06012345678
HANDYNR:06012345679
wird gesendet an:
436012345678
436012345679
EMPFAENGER (optional)EMPFAENGER:HansAlternativ oder zusätzlich zu Zielnummern mit HANDYNR kann auch der Name des Empfängers als Ziel angegeben werden.
Wenn Sie an mehrere Empfänger gleichzeitig schreiben wollen, schreiben Sie die Schlüsselwörter untereinander, z.B.
EMPFAENGER:Hans
EMPFAENGER:Maria
NAME (optional)NAME:Hanswie EMPFAENGER.
GRUPPE (optional)GRUPPE:FruehschichtAlternativ oder zusätzlich zu Zielnummern mit HANDYNR kann auch der Name der Gruppe als Ziel angegeben werden.
REPLYTO (optional)REPLYTO:antwort_an@andere-als-user-email.deAntworten (Tarif 7) und Sendeberichte (Tarif 1 und 7) werden nicht an die E-Mail des Benutzers, sondern an die angegebene REPLYTO E-Mail-Adresse gesendet.
EMAILCC (optional)EMAILCC:kopie_an@irgendjemand.deEine E-Mailkopie der SMS wird an EMAILCC gesendet. Mögliche Werte: Gruppenname,Empfängername oder E-Mail-Adresse.
Nicht in Kombination mit SENDEZEIT verfügbar.

 

2.) XML -Schnittstelle

Um eine email mit mehreren Empfängern und unterschiedlichen Texten in SMS umzuwandeln, bieten wir eine XML-Schnittstelle an.
Sie schreiben eine email mit dem Mailprogramm Ihrer Wahl und senden die email im reinen Textformat (nicht HTML) an unser XML-Gateway xml@sms4.de.

Die Umwandlung funktioniert nur, wenn die email-Adresse des Senders dem System bekannt ist. Tragen Sie die email-Adresse mit der Sie senden daher zuvor unter Einrichten -> Email-Berechtigungen ein.
Dies dient dazu, ausgehende SMS auf Benutzer/Kunden abrechnen zu können. Die email-Adresse des neu angelegten Benutzers wird automatisch für das Gateway freigeschaltet. Um einem einzelnen Benutzer manuell den Zugang zum email-SMS-Gateway zu sperren (oder zu öffnen) können Benutzer mit Administrator-Rechten unter Verwaltung -> Email-Berechtigungen die email-Adressen einzeln hinzufügen oder löschen.

Alle Aufträge, die an das E-Mail-to-SMS-Gateway xml@sms4.de gesendet werden, werden standardmäßig auf Dubletten geprüft. Aufträge (d.h. E-Mails), die in den letzten 24h mit dem gleichen Text an die gleichen Empfänger bereits versendet wurden, werden ausgefiltert. Dieser Filter kann abgeschaltet werden je Benutzer unter Einrichten -> Einstellungen.

Bitte senden Sie die email als reinen Text, nicht als HTML.

Beispiel 1:

 

Beispiel 2:

Die Email muss folgendes Layout haben:

An / To:
Bitte unsere Emailadresse xml@sms4.de für das XML-Gateway angeben.

Betreff / Subject:
Ihre Kundennummer z.B. XY12345. Zugang hier kostenlos beantragen.

Nachricht / Body:
Den Body der email bauen Sie auf wie folgt:
XML-ElementBeispielBeschreibung
<emailtosms>
...
</emailtosms>
(Pflicht)

<emailtosms>
<sms>
  <text>test sms 1 mit Text 1</text>
  <handynr>01701010101</handynr>
</sms>
</emailtosms>

Oberstes Element für den Email-to-SMS Auftrag
<sms>
...
</sms>
(Pflicht)

<emailtosms>
<sms>
  <text>test sms 1 mit Text 1</text>
  <handynr>01701010101</handynr>
</sms>
</emailtosms>

Mit <sms> beginnt innerhalb des emailtosms-Blocks die eigentliche SMS und wird mit </sms> abgeschlossen.
<handynr></handynr>
(Pflicht)

<emailtosms>
<sms>
  <text>2 sms mit Text 1</text>
  <handynr>01701010101</handynr>
  <handynr>01701010102</handynr>
</sms>
<sms>
  <text>1 sms mit Text 2</text>
  <handynr>01701010101</handynr>
</sms>
</emailtosms>

Die Zielnummern. Wenn Sie an mehrere Empfänger gleichzeitig schreiben wollen, verwenden Sie das Element mehrfach, z.B.
<handynr>017212345678</handynr>
<handynr>017212345679</handynr>
oder
<handynr>4917212345678</handynr>
<handynr>4917212345679</handynr>
SMS ins Ausland immer mit Ländercode ohne + oder führende Nullen angeben z.B. für Österreich Vorwahl +43:
<handynr>436012345678</handynr>
<text></text>
(Pflicht)

<emailtosms>
<sms>
  <text>Test SMS 1 mit Text 1</text> 
  <handynr>01701010101</handynr>
</sms>
<sms>
  <text>Test SMS 2 mit Text 2
  neue zeile</text> 
  <handynr>01701010101</handynr>
</sms>
</emailtosms>

Der Text der SMS, 160 Zeichen (ISO-8859-1). Wenn Sie an mehrere Empfänger gleichzeitig, aber mit unterschiedlichen Texten schreiben wollen, verwenden Sie mehrere Bl?cke mit <sms></sms>.
<absender></absender>
(optional)

<emailtosms>
<sms>
  <text>test sms 1 mit Text 1</text>
  <handynr>01701010101</handynr>
  <absender>017212345678</absender>
</sms>
</emailtosms>

Die Absenderkennnung nur für Tarif 1 und 7:
6 bis 11 Zeichen Text (keine Sonderzeichen) oder 6 bis 14 Ziffern
(Den Vorgabewert können Sie in den Einstellungen angeben).
<tarif></tarif>
(optional)

<emailtosms>
<sms>
  <text>test sms 1 mit Text 1</text>
  <handynr>01701010101</handynr>
  <tarif>1</tarif>
</sms>
</emailtosms>

Bei Tarif ist 1 oder 7 möglich. Details zu den Tarifen finden Sie in der Preisliste.
Der Vorgabewert ist standardmäßig 1, kann aber benutzerspezifisch unter den Einstellungen festgelegt werden.
<kundennr></kundennr>
(optional)

<emailtosms>
<kundennr>XY12345</kundennr>
<sms>    
  <text>test sms 1 mit Text 1</text>
  <handynr>01701010101</handynr>
</sms>
</emailtosms>

Falls Sie den Betreff Ihrer E-Mail nicht ändern können, geben Sie Ihre SMS4.de Kundennummer im Body der E-Mail an. Diese Angabe wird aber nur berücksichtigt, wenn im Betreff nicht bereits eine gültige Kundennummer steht (d.h. Kundennummer im Betreff ist vorrangig).
<replyto></replyto>
(optional)

<emailtosms>
<sms>    
  <text>Antwort an andere email</text>
  <handynr>01701010101</handynr>
  <tarif>1</tarif>
  <replyto>an@1andere.de</replyto>
</sms>
<sms>    
  <text>Status an andere email</text>
  <handynr>01701010102</handynr>
  <tarif>1</tarif>
  <replyto>und@xandere.de</replyto>
</sms>
</emailtosms>

Antworten (Tarif 7) und Sendeberichte (Tarif 1 und 7) werden nicht an die E-Mail des Benutzers, sondern an die angegebene REPLYTO E-Mail-Adresse gesendet wenn diese angegeben ist.
<sendezeit></sendezeit>
(optional)

<emailtosms>
<sms>
  <text>test sms 1 mit Text 1</text>
  <handynr>01701010101</handynr>
  <sendezeit>12.05.2010 09:45</sendezeit>
</sms>
</emailtosms>

Die gewünschte Versendezeit der SMS im Format tt.mm.jjjj hh:mm

 

3.) Sendeberichte empfangen

Siehe unter Sendeberichte per E-Mail erhalten

 

4.) Antworten empfangen

Antworten empfangen Sie mit Tarif 7 wenn Sie unsere Zentralnummer +4915126108575 als Absender angeben.

 

5.) Individuell

für 100 EUR netto zzgl. 19% Mwst. passen wir unser Gateway Ihrem individuellem Format an, falls Ihre Applikation die E-Mail-Formatierung nicht verändern kann.

 

6.) Problemlösungen

Bitte stellen Sie sicher dass im E-Mail Header folgende Werte gesetzt sind:

Content-Type: text/plain; charset="iso-8859-15"
Content-Transfer-Encoding: 8bit

sonst kann es zu Problemen mit Umlauten und Zeilenumbrüchen kommen. Die Schlüsselwörter können dann u.U. nicht mehr ausgelesen werden.

Konfiguration Exchange Server 5.5 unter Windows 2003 Server

Windows Server 2003
System-Manager
	Globale Einstellungen
		Internet-Nachrichtenformate
			Standard
				Karte Nachrichtenformate
					jetzt klicken auf UUENCODE	
					Zeichensatz ISO-8859-1
					und OK

Wenn Sie MS Outlook 2002 oder 2003 verwenden, aber keinen Exchange Server
Stellen Sie den Zeichensatz ein:

Extras
	Optionen
		Karte E-Mail-Format
			Abschnitt Nachrichtenformat
				klicken auf Internationale Optionen...
					Codierungsoptionen
						Zeichensatz Westeurop?isch (ISO) auswählen
						und OK					

Bei MS Outlook 2002 oder 2003 kann man das Content-Transfer-Encoding nicht direkt einstellen. Man muss dazu einen Registry-Eintrag namens InternetMailTextEncoding vornehmen.
Der Registry-Eintrag wird aber beim Einsatz eines Exchange-Servers ignoriert.

Eine Anleitung finden Sie bei Microsoft:
How Outlook applies encoding to plain text e-mail messages in Outlook 2003 and Outlook 2002

Einstellung bei Outlook Express 6
Stellen Sie den Zeichensatz ein:

Extras
	Optionen
		Karte Senden
			Abschnitt Format für "Nachricht Senden"
				klicken auf Nur-Text-Einstellungen...
					MIME Textcodierung mit
						Keine auswählen
						und OK					

Stellen Sie die Codierung ein:

Extras
	Optionen
		Karte Senden
			Abschnitt Senden
				klicken auf Internationale Einstellungen...
					Standardzeichensatz
						Zeichensatz Westeuropäisch (ISO) auswählen
						und OK					

 

7.) Programmier-Beispiele

Beispielcode für PHP:

<?
/* ============================================================
Beispielcode für den Versand von SMS ?ber Email (festes Format)
von www.sms4.de
==============================================================*/

$kdnr  = "XY12345";   // Bitte mit Ihrer Kundennr ersetzen

// Ihre Absenderkennung ( 6 bis 11 Zeichen Text oder 6 bis 14 Ziffern )
// relevant für Tarif 1 und Tarif 7
$absender="017488997766"; 

// Handynummer
$handynr = "01701010101";

$text = 'nur ein Test\n2. Zeile'; // Text der SMS 

$tarif = 1; // mit Absenderkennung und Sendeberichten, direkte Terminierung im SMSC


// E-Mail-Adresse des Gateways
$to = 'sms@sms4.de';

// eine berechtigte E-Mail-Adresse
$from = 'meine@berechtigte-email.de';

// Betreff: beliebig
$subject = 'Beispielmail SMS4.de';

// Nachricht / Body
$message = "KUNDENNR:$kdnr
HANDYNR:$handynr
TEXT:$text
ABSENDER:$absender
TARIF:$tarif";



// Header der Mail zusammenbauen
$head='';
$head .= 'From: ' . $from . "\n";
$head .= "MIME-Version: 1.0\n";
$head .= "Content-type: text/plain\n";
$head .= "Content-Disposition: inline\n";
$head .= "Content-Transfer-Encoding: 8bit\n";


// Verschicken der Mail
mail($to, $subject, $message, $head);
?>

 

Beispielcode für Perl:

#!/usr/bin/perl

#####################################################################
#Beispielcode für den Versand von SMS ?ber die XML-Schnittstelle
#von www.sms4.de
#####################################################################

$kdnr= "XY12345";# Bitte mit Ihrer Kundennr ersetzen

# Ihre Absenderkennung ( 6 bis 11 Zeichen Text oder 6 bis 14 Ziffern )
# nur relevant für Tarif 1 und Tarif 5
$absender = "Der-Peter";

# Handynummer
$handynr = "01701010101";

$tarif = 1;# mit Absenderkennung und Sendeberichten, direkte Terminierung im SMSC

# Text der SMS
$text = "test sms 1 mit Text 1
neue zeile";

$to = 'xml@sms4.de';# E-Mail-Adresse des Gateways

$from = 'meine@berechtigte-email.de';# eine berechtigte E-Mail-Adresse


open (SENDMAIL, "|/usr/lib/sendmail -oi -t") || die "Can't open Sendmail\n";
print SENDMAIL <<"...";
Subject: $kdnr
To: $to
From: $from
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-15"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit

<emailtosms>
  <sms>
    <text>$text</text>
   <handynr>$handynr</handynr>
    <absender>$absender</absender>
    <tarif>$tarif</tarif>
  </sms>
</emailtosms>
...
close(SENDMAIL);

 

Beispiel für Nagios (Perl):

Lesen Sie dazu in unseren FAQ: Wie kann ich Alarmierungen von Nagios per SMS versenden?