Envio de mensagens para celulares usando NowSMS

Publicado por ELone Sampaio em 24/04/2015

[ Hits: 4.452 ]

 


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.

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:
Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Biblioteca digital (desenvolvida em software livre)

Evitando SQL Injection

Dual boot: Ubuntu 14.04 + Windows 8 UEFI (completo)

Configuração de internet e rede no Ubuntu 9.04 Desktop

IPwatchD - Detectar conflitos de IP em GNU/Linux

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts