Envio de mensagens para celulares usando NowSMS
Dica publicada em Linux / Introdução
Envio de mensagens para celulares usando NowSMS
NowSMS é um aplicativo para envio de mensagens para celulares usando celulares, ele usa a porta 80 (HTTP) para o envio de SMS, então vamos aproveitar esta mesma porta para envio das nossas mensagens.
Download: Sms.php.tar.gz
Exemplo: SendSMS($host, $porta, $usuario, $senha, $contacto, $mensagem)
Onde:
No final teríamos isto:
Link para download do NowSMS:
Criação da classe para envio
Classe contendo os métodos para o envio de mensagem:
/**
* Description of sms
* Classe para envio de sms usando nowsms
*
* @author sam
*/
class Sms {
public static function SendSMS($host, $porta, $usuario, $senha, $contacto, $mensagem) {
$fp = fsockopen($host, $porta, $errno, $errstr);
if (!$fp) {
echo "errno: $errno \n";
echo "errstr: $errstr\n";
return $result;
}
fwrite($fp, "GET /PhoneNumber=" . rawurlencode($contacto) . "&Text=" . rawurlencode($mensagem) . " HTTP/1.0\n");
if ($usuario != "") {
$auth = $usuario . ":" . $senha;
echo "auth: $auth\n";
$auth = base64_encode($auth);
echo "auth: $auth\n";
fwrite($fp, "Authorização: Basica " . $auth . "\n");
}
fwrite($fp, "\n");
$res = "";
while (!feof($fp)) {
$res .= fread($fp, 1);
}
fclose($fp);
return $res;
}
}
Download: Sms.php.tar.gz
Testando a classe
Para testarmos temos que chamar o método SendSMS() e passarmos os parâmetros obrigatórios.Exemplo: SendSMS($host, $porta, $usuario, $senha, $contacto, $mensagem)
Onde:
- host - nome do host
- porta - número da porta que o servidor usa
- usuario - usuário cadastrado no NowSMS
- senha - senha do NowSMS
- contacto - número onde será enviado a mensagem
- mensagem - mensagem a ser enviada
No final teríamos isto:
SendSMS("localhost", 80, "sam", "1234", "923556644", "mensagem de teste")
Link para download do NowSMS: