Webly: Como Enviar Sms Via Celular E Php Da Forma Mais Barata - Webly

Ir para

Regras para postagem

É permitido postar livremente respostas com comentários, testes e avaliações dos scripts. Postagens contendo dúvidas sobre o script, deverão ser postadas no fórum principal de PHP

IMPORTANTE: Todos os tutoriais postados neste fórum irão automaticamente para o portal Webly. Contribua você também e faça parte da equipe de colaboradores que fazem a evolução da web. Obrigado.
Página 1 de 1

Como Enviar Sms Via Celular E Php Da Forma Mais Barata tutorial de envio de Mensagens de texto através do celular usando PHP Avaliar tópico: -----

#1 Membro offline   Micox Ícone

  • Comunidade de desenvolvedores
  • Ícone
Grupo:
Administradores
Posts:
5251
Cadastrado:
03-julho 06
Localização:
Goiânia-GO
Interesses:
Webly e elmicox.blogspot.com

Postou 17 julho 2008 - 11:38

Fonte: tutorial de envio de SMS através do celular usando PHP - http://www.samuca.co...aves-do-php.php

O autor (que eu suponho se chamar Samuel/Samuca) fez o tutorial "em um projeto recente, precisou enviar uma enorme quantidade de SMS, através do próprio sistema, e procurou a melhor forma, entenda por mais barata, de enviar minhas próprias mensagens através do sistema"

Ele ainda responde dúvidas na própria página do tutorial.
Para uma versão completa com imagens e tabelas certinhas, vá no site original.
Descoberto via http://www.phpavancado.net/node/441


Como enviar SMS via Celular e PHP da forma mais barata


Objetivo desse tutorial Imagem
Ensinar, passo a passo, como configurar seu Telefone, e fazer um script PHP para enviar mensagens através do próprio telefone Celular.


Motivações para escrita desse tutorial Imagem
Em um projeto recente, precisei enviar uma enorme quantidade de SMS, através do próprio sistema, e procurei a melhor forma, entenda por mais barata, de enviar minhas próprias mensagens através do sistema.


Pré-requisitos: Imagem


  • conhecimento em PHP
  • conhecimento básico em windows
  • um telefone que seja reconhecido no windows como GSM Modem.

Analise do problema. Imagem
Existem hoje no mercado, diversos Gateways SMS para envio de mensagem, porem, obviamente todos são pagos. Dois que eu procurei foram:

Human - http://www.human.com.br
Bee Contact - http://www.beecontac.../home/index.htm

Analisando os dois procurados, esbarrei nos seguintes problemas:

  • As mensagens são armazenadas em banco de dados próprios, pode não ser impeditivo para muitas pessoas, mas para meu projeto quanto mais sigilo melhor.
  • O preço é 'compativel' com o preço normal de uma mensagem enviada, dependendo do plano que você escolher com sua operadora

A telefonia no Brasil: Imagem
É uma pena que a Anatel não faca nada para melhorar nossa vida, acontece que o envio de SMS no brasil é um dos mais caros do mundo, fora a burocracia para ter essa ferramenta. Por exemplo, nos gateways pesquisados, todos pediam um cadastro e motivo para que eles fossem encaminhados para a operadora, informando o porque estou utilizando essa funcionalidade


Plano escolhido: Imagem
Para o projeto, fui em todas as operadoras: Vivo, Claro, Oi e TIM. Como não tenho plano corporativo, a que mais me atendeu foi a Vivo, pelos seguintes motivos: Peguei o plano conta 350, cujas vantagens são:

100 SMS inclusos Incluso
300 SMS como 'beneficio' escolhido do plano Incluso
1000 SMS se enviados depois das 22:00 da noite, e até 7:00 da manha R$ 7.50 mês
Assinatura do plano R$ 155.00 mês
Total R$ 162.50 mês

Outro detalhe, peguei o aparelho que está sendo usado no tutorial por R$ 10, um nokia E51, excelente aparelho, que atendeu perfeitamente, porem se não tivesse pego esse telefone, eu ainda mandaria mensagens de vivo -> vivo por R$ 0,05 até o mês de julho.


Softwares necessários para a aplicação Imagem

A escolha do telefone Imagem
Resumidamente, o melhor telefone para essa aplicação, é qualquer um que seja reconhecido pelo Windows como Modem GSM, e que ele mesmo se recarregue pela USB (dessa forma você não precisará de deixar o telefone ligado na tomada). Os seguintes telefones foram testados, e funcionam perfeitamente para a solução:


Como saber se meu telefone é GSM Modem ? Imagem
Clique com o botão direito em Meu Computador > Propriedades > Aba Hardware > Gerenciador de Dispositivos

Se você ver uma imagem como essa abaixo, na parte de Modems, seu celular é reconhecido como Modem GSM



Imagem

Existem vários tutoriais espalhados pela web, aqui trato apenas sobre a configuração no Nokia E51

Primeiro, instale o Nokia PC Suite no seu computador, ATENÇÃO: não plugue o telefone ainda, porque senão vai dar problema de reconhecimento dos drivers no Windows

Após a instalação você pode até desinstalar o Pc Suite (Eu até recomendo, porque ele é chato demais, softwares da HP e da Nokia acham que você tem o computador apenas para usar o softwares deles).

Meu telefone já veio com o Nokia PC Suite em um CD, só coloquei, rodei o autorun, e escolhi a opção de instalar o Nokia PC Suite, no meu caso o 6.84

Pronto, instalação concluída, após a instalar terminar, a tela 1 se abrirá, clique em avançar nas telas um e dois (isso se a tela dois aparecer com Conexão a cabo selecionada. Conecte seu telefone APENAS nesse momento, na tela 3, vai demorar um pouco, e aparecer a imagem 4, nela clique apenas em Concluir



Conferindo se o telefone está instalado Imagem
Clique com o botão direito em Meu Computador > Propriedades > Aba Hardware > Gerenciador de Dispositivos

Se você ver uma imagem como essa abaixo, na parte de Modems, seu celular é reconhecido como Modem GSM

A imagem deve ser igual a de indentificação do telefone


Instalando o NowSMS para enviar as mensagens Imagem
Agora realmente começa o tutorial, é através desse programa, o NowSMS Gateway, que pode ser encontrado facilmente na internet é que iremos comunicar nossa aplicação com o PHP.


Exemplo de chamada da função:

	$x   = SendSMS("127.0.0.1", 8800, "", "", $_POST['txtTELEFONE'], $_POST['txtMENSAGEM']);	
	echo $x;


Caso prefira, faça o download do arquivo: Imagem

<?PHP
/**
 * Página de teste de Envio de SMS
 * @author Samuel Aiala Ferreira <samuca@samuca.com>
 * @version 1.0
 * @package SMS
*/
if ($_POST['acao'] == 'sendsms')
{
	$x   = SendSMS("127.0.0.1", 8800, "", "", $_POST['txtTELEFONE'], $_POST['txtMENSAGEM']);	
	echo $x;
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<title>Envio de SMS</title>
	</head>
	<body>
		<a href="http://www.samuca.com/sms/">Tutorial de envio de SMS</a>
		<form name='frmSend' method='post'>
			<input type='hidden' name='acao' value='sendsms'>
			<table width="100%" style="border-collapse:collapse;" border="1">
			<tr>
				<td>Telefone:</td>
				<td><input type="text" name="txtTELEFONE" value="+55XX88888888"></td>
			</tr>
			<tr>
			  <td>Mensagem:</td>
			  <td><textarea name="txtMENSAGEM" cols="60" rows="10" id="txtMENSAGEM"></textarea></td>
			  </tr>
			<tr>
			  <td>&nbsp;</td>
			  <td><input type="submit" name="Submit" value="Enviar SMS"></td>
			  </tr>
			</table>
			
		</form>
	</body>
</html>


<?
/**
 * Função que envia o SMS
 * @return string Mensagem de Sucesso de Envio de SMS
 * @param string $host Host onde foi instalado seu Now SMS
 * @param string $port A Porta que você está usando
 * @param string $username Pode deixar em branco
 * @param string $password Pode deixar em branco
 * @param string $phoneNoRecip Telefone, no formato +55[DDD sem o 0][Telefone, com 8 posições]
 * @param string $msgText Mensagem que deseja enviar, limite em 160 caracteres, senão ele manda quantas ensagens necessárias para atingir o limite.
 */
function SendSMS ($host, $port, $username, $password, $phoneNoRecip, $msgText) { 
 
	$fp = fsockopen($host, $port, $errno, $errstr);
	if (!$fp) {
		echo "errno: $errno \n";
		echo "errstr: $errstr\n";
		return $result;
	}
	fwrite($fp, "GET /PhoneNumber=" . rawurlencode($phoneNoRecip) . "&Text=" . rawurlencode($msgText) . " HTTP/1.0\n");
	echo $aux3;
	if ($username != "") {
	   $auth = $username . ":" . $password;
	   echo "auth: $auth\n";
	   $auth = base64_encode($auth);
	   echo "auth: $auth\n";
	   fwrite($fp, "Authorization: Basic " . $auth . "\n");
	}
	fwrite($fp, "\n");
  
	$res = "";
 
	while(!feof($fp)) {
		$res .= fread($fp,1);
	}
	fclose($fp);
	
 
	return $res;
}

echo $x;

?>

d($fp,1);
	}
	fclose($fp);
	
 
	return $res;
}

echo $x;
?>


Ao clicar em Enviar SMS, a página dá reload, e deve exibir a mensagem de que foi enviado com sucesso o SMS
Ajude, responda: mesmo que não saiba exatamente a resposta, seu pitaco pode dar uma luz no problema do outro.
Não respondo dúvidas por MP / Email / MSN e afins. O fórum está aqui pra isto.

elmicox.blogspot.com
0

Página 1 de 1


Resposta rápida

  • Diminuir tamanho
  • Aumentar tamanho
  

1 usuário(s) está(ão) lendo este tópico
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)