แนะนำ Android SMS Gateway + สคริปส์ Server Monitor ครับ

ขอแนะนำ การส่ง SMS ผ่านหน้าเว็บไซต์โดยใช้ Android Device เป็่น Gateway ครับ

  1. สมัครใช้งาน https://smsgateway.me/
  2. Download และติดตั้งแอพใน Android Device
  3. เปิดแอพ และ login ด้วย username & password ตามข้อ 1
  4. จดรหัส Device ID
  5. dowload PHP Library (smsGateway.php)
  6. copy ตัวอย่าง script จาก PHP Example save เป็นชื่อ send-sms.php
  7. แก้ไข script ตรง email, password, device id, mesg และ number (หมายเลขโทรศัพท์ที่ใช้รับข้อความ sms)
  8. upload smsGateway.php และ send-sms.php ขึ้นไปไว้บน server หรือ localhost
  9. เรียกใช้งาน http://localhost/myweb/send-sms.php ระบบจะส่ง sms โดยใช้แอพที่ติดตั้งใน Android Device เป็น Gatway
  10. ตัวอย่างตามภาพนี้ ผมดัดแปลง สำหรับรับค่า หมายเลขโทรศัพท์, ข้อความ จากแบบฟอร์ม send-sms.html

เอาไปประยุกต์ใช้ สำหรับ ส่ง sms แจ้งลูกค้า หรือ ให้ลูกค้าส่ง sms มามาหาเรา แต่ปัญหาคือ ค่าส่ง sms ผ่าน โทรศัพท์ android ของเรา
จะแพงกว่า ส่งผ่านบริการ sms gateway ทั่วไป (หรือเปล่า) แต่ก็ถือว่าสะดวกดีสำหรับผู้ใช้งานไม่มาก ครับ

ขอบคุณครับ
ลิงค์ https://smsgateway.me/ ที่ลงไว้ไปไม่ได้น่ะครับ

ขอบคุณครับ พี่ธีร์ ผมแก้ไขแล้ว เป็น https://smsgateway.me/ ตามที่พี่ธีร์ บอกครับ :slight_smile:

ตัวอย่างการนำไปประยุกต์ใช้ ร่วมกับระบบ Server Monitor ครับ (ระบบจะส่ง SMS แจ้งเตือนเมื่อ Server Down)
Save เป็นชื่อไฟล์ sms-monitor.php แล้ว ตั้ง Cron job เรียกทุก 5-15 นาที ตามที่ต้องการ

หากใครไม่มี Cron job สามารถใช้บริการฟรี ได้ที่ https://www.easycron.com/ ครับ

<?php

include “smsGateway.php”;

function check($host, $find) {
$fp = fsockopen($host, 80, $errno, $errstr, 10);
if (!$fp) {
//echo "$errstr ($errno)
";
} else {
$header = "GET / HTTP/1.1
";
$header .= "Host: $host
";
$header .= "Connection: close

";
fputs($fp, $header);
while (!feof($fp)) {
$str .= fgets($fp, 1024);
}
fclose($fp);
return (strpos($str, $find) !== false);
}
}

// API SMS Gateway

function alert($host) {

$smsGateway = new SmsGateway(‘youremail@gmail.com’, ‘password’);

$deviceID = xxxx; //The ID of device you wish to send the message from
$number = “66099xxxxxxx”; //The number to send the message to
$message = “Server “.$host.” Down”;

$options = [
‘send_at’ => strtotime(‘+0 minutes’), // Send the message in x minutes
‘expires_at’ => strtotime(‘+1 hour’) // Cancel the message in 1 hour if the message is not yet sent
];

$result = $smsGateway->sendMessageToNumber($number, $message, $deviceID, $options);

}

$maxserver = 8;

//ใส่หมายเลข IP ที่ต้องการ Monitor
$server = array(
“xxx.xxx.xxx.xxx”,
“xxx.xxx.xxx.xxx”,
“xxx.xxx.xxx.xxx”,
“xxx.xxx.xxx.xxx”,
“xxx.xxx.xxx.xxx”,
“xxx.xxx.xxx.xxx”,
“xxx.xxx.xxx.xxx”,
“xxx.xxx.xxx.xxx”
);

for ($i = 0; $i < $maxserver; $i++)
{
$host = $server[$i];
$find = ‘html’;
if (!check($host, $find)) {
alert($host);
}
}

?>

รู้สึกว่าเครื่องที่จะใช้ส่ง ต้องทำการต่อ internet เพื่อให้แอพที่อยู่ในเครื่อง รอรับคำสั่งจาก server smsgateway.me อีกทีนะครับ