Pada artikel sebelumnya,
saya sudah paparkan bagaimana cara melakukan setting Gammu untuk SMS
Gateway yang diintegrasikan dengan MySQL. Jika proses setting ini sudah
beres, maka selanjutnya kita bisa bermain-main sepuasnya dengan Gammu.
Dalam artikel ini saya akan paparkan bagaimana teknik dasar mengirim
SMS dengan Gammu baik dalam bentuk short text maupun long text. Pada
bagian akhir nanti kita akan coba membuat script sederhana dengan PHP
untuk mengirim pesan SMS ini yang diintegrasikan dengan Gammu melalui
sebuah form.
OK.. pada dasarnya dengan Gammu kita bisa mengirim pesan SMS dalam 2
cara yaitu dengan menggunakan command inject yang sudah disediakan oleh
Gammu, atau cara kedua kita menyisipkan record dengan menggunakan query
SQL ke dalam tabel ‘outbox‘. Bila Anda ingin
mengirimkan pesan dengan cara yang kedua ini, terlebih dahulu Anda harus
sudah memiliki database ‘sms’ dan tabel-tabel yang diperlukan oleh
Gammu sebagaimana sudah saya jelaskan cara instalasinya pada langkah
ke-5 dari artikel sebelumnya.
Untuk cara pertama yaitu dengan menggunakan command inject yang
disediakan oleh Gammu, caranya adalah masuklah ke folder/direktori Gammu
Anda melalui Command Prompt di mana terdapat file bernama ‘gammu-smsd-inject‘, lalu ketikkan perintah berikut ini kemudian tekan ENTER.
1.
gammu-smsd-inject -c pathtoconfigfile TEXT notujuan -text "pesan"
pathtoconfigfile
‘ adalah path direktori file ‘SMSDRC’ Gammu Anda.Sebagai contoh misalkan akan dikirim pesan SMS ke no. tujuan +62811000001 dengan pesan “Hello World”, dan file SMSDRC nya terletak di C:\gammu, maka perintahnya
1.
gammu-smsd-inject -c c:\gammu\smsdrc TEXT +62811000001 -text "Hello World"
Perintah di atas akan mengirimkan pesan SMS dengan maksimum panjang karakternya adalah 160.
Lantas, bagaimana jika untuk long text atau dengan panjang yang lebih dari itu? Caranya adalah dengan menggunakan pesan dalam format EMS.
1.
gammu-smsd-inject -c pathtoconfigfile EMS notujuan -text "pesan"
Selanjutnya kita gunakan cara kedua, yaitu dengan menyisipkan sebuah record ke dalam tabel ‘outbox’.
Di dalam tabel ‘outbox‘ Anda akan lihat banyak sekali field, namun yang perlu diperhatikan hanyalah field ‘DestinationNumber‘ dan ‘TextDecoded‘. Field ‘DestinationNumber’ itu nanti akan diisi dengan nomor HP tujuan dan ‘TextDecoded’ diisi dengan pesan SMS yang akan dikirimkan.
Contoh:
1.
INSERT
INTO
outbox(DestinationNumber, TextDecoded, CreatorID)
VALUES
(
'+62811000001'
,
'Hello World'
,
'Gammu'
);
OK.. sekarang kita akan mencoba membuat script PHP sederhana untuk mengirim pesan SMS yang terintegrasi dengan Gammu ini.
Langkah pertama kita buat form untuk mengirim pesan SMS nya terlebih dahulu.
1.
<
form
method
=
"post"
action
=
"send.php"
>
2.
No. HP Tujuan : <
input
type
=
"text"
name
=
"nohp"
value
=
"+62"
><
br
>
3.
Pesan : <
textarea
name
=
"msg"
>textarea
><
br
>
4.
<
input
type
=
"submit"
name
=
"submit"
value
=
"Kirim SMS"
>
5.
form
>
Langkah kedua, kita buat script php untuk mengirim pesannya.
send.php
1.
2.
$noTujuan
=
$_POST
[
'nohp'
];
3.
$message
=
$_POST
[
'msg'
];
4.
5.
exec
(
'c:\gammu\gammu-smsd-inject.exe -c c:\gammu\smsdrc EMS '
.
$noTujuan
.
' -text "'
.
$message
.
'"'
);
6.
7.
?>
Perintah exec()
dalam PHP digunakan untuk menjalankan perintah command DOS dalam hal ini adalah perintah command inject nya Gammu.
Karena command inject Gammu pada script di atas menggunakan format
EMS maka memungkinkan kita mengirim SMS dengan jumlah karakter lebih
dari 160 buah.
Oya… sebelum Anda menjalankan script di atas, pastikan bahwa service Gammu nya telah Anda jalankan, dan HP Anda tercolok ke PC
Sekarang… bagaimana bila pengiriman SMS dari script di atas menggunakan query INSERT? Ini dia scriptnya.
send.php
01.
02.
mysql_connect(
"dbhost"
,
"dbuser"
,
"dbpass"
);
03.
mysql_select_db(
"sms"
);
04.
05.
$noTujuan
=
$_POST
[
'nohp'
];
06.
$message
=
$_POST
[
'msg'
];
07.
08.
$query
=
"INSERT INTO outbox (DestinationNumber, TextDecoded, CreatorID) VALUES ('$noTujuan', '$message', 'Gammu')"
;
09.
$hasil
= mysql_query(
$query
);
10.
if
(
$hasil
)
echo
"SMS berhasil dikirim"
;
11.
else
echo
"SMS gagal dikirim"
;
12.
13.
?>
Teknik pengiriman SMS di atas sudah diuji coba dan berjalan dengan lancar di modem Wavecom Fastrack.
Bagaimana mudah bukan membuatnya? Nantikan artikel berikutnya tentang
cara pengolahan SMS yang masuk dengan studi kasus autorespon atau
autoreply.
Sebagai catatan, baik cara pertama maupun cara kedua, bila pesan SMS
sudah terkirim maka secara otomatis akan tersimpan ke dalam tabel
‘sentitems’ dalam database ‘sms’.
Update:
Oya, satu lagi… teknik di atas merupakan teknik pengiriman sms untuk
Gammu versi mulai 1.25 sampai dengan terbaru. Untuk versi Gammu di bawah
1.25 kemungkinan ada sedikit perbedaan perintah.
EmoticonEmoticon