Seether hat geschrieben:Hallo,
mich würde interessieren welche Technik Du zum SMS-Versenden benutzt.
S.
Ist relativ einfach. Ich benutze die Schnittstelle von
https://www.fittcom.de/
Muss man natürlich bezahlen.
Ich habe ein Forum zur Dienstplanung realisiert unter anderem gibt es da einen Punkt "SMS an alle".
Da lese ich die Nummern aus der SQL-Datenbank und sende diese an die Schnittstelle
Code: Alles auswählen
$sql = "SELECT username, user_name, user_handy
FROM " . USERS_TABLE . "
WHERE user_id <> " . ANONYMOUS . "
ORDER BY user_name";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query users', '', __LINE__, __FILE__, $sql);
}
if ( $row = $db->sql_fetchrow($result) )
{
$i = 0;
do
{
$username = $row['username'];
$user_handy = $row['user_handy'];
// Achtung!!!
// Diese Zeile versendet echte SMS'en
$url = 'http://www.fittcom.de/cgi/smssend.pl?appid=2&id=%LOGIN%&pwmd5=%MD5PASSWORD%&dnr=%EMPFAENGER%&snr=%ABSENDER%&msg=%TEXT%&msgtype=text&confirmemail=%MAIL%';
// Debug-Mode, hiermit wird keine SMS versendet
// $url = 'http://www.fittcom.de/cgi/smssend.pl?appid=2&id=%LOGIN%&pwmd5=%MD5PASSWORD%&dnr=%EMPFAENGER%&snr=%ABSENDER%&msg=%TEXT%&msgtype=text&confirmemail=%MAIL%&donotsend=1';
$placeholder = array(
'%LOGIN%' => 'Verrate ich nicht'),
'%MD5PASSWORD%' => md5 ('das auch nicht),
'%EMPFAENGER%' => rawurlencode($user_handy),
'%ABSENDER%' => rawurlencode($userdata['user_handy']),
'%MAIL%' => rawurlencode($userdata['user_email']),
'%TEXT%' => rawurlencode(substr($message, 0, 160))
);
$url = strtr($url, $placeholder);
$fp=fopen($url, 'r')
or die ('Connection failed');
while (!feof($fp)) {
$sms_result = fread($fp,128);
}
fclose($fp);
$row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
$row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];
$template->assign_block_vars('memberrow', array(
'ROW_NUMBER' => $i + ( $start + 1 ),
'ROW_COLOR' => '#' . $row_color,
'ROW_CLASS' => $row_class,
'USERNAME' => $username,
'HANDYNR' => $user_handy,
'RESULT' => $sms_result)
);
$i++;
}
while ( $row = $db->sql_fetchrow($result) );
$db->sql_freeresult($result);
}
$template->pparse('body');
Das wars schon.
Zur Zeit habe ich aber noch das Problem, dass nicht immer die ganzen SMS'en versendet werden. Sondern nur 15-20 Stück und ich dann eine leere Webseite erhalte
Sieht so aus als würde das Skript abgebrochen werden. Aber ich erhalte keine Fehlermeldung oder wo was.