[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Mensaje a Telefonos Moviles




Hola..

 Reenvio el mail pq no se si envio mal o no. Asi que si llega dos veces no es
pq alguna url este mal, es que me he liao.

 http://xsendgsm.does.it
 http://xsendgsm.virtualave.net

 Ese lleva mucho tiempo publicao pero creo que ya no rula. de todas formas
os envio el codigo en C de otro que si os funcionara, pq lo acabo de hacer 
despues de leer el mail. 

No me abraseis el mail si deja de funcionar.. Arregladlo vosotros.. :))


On Sun, Sep 09, 2001 at 02:34:12PM +0200, Javier M Mora wrote:
> Existe un paquete de debian que sirve para enviar mensajes SMS desde internet 
> llamado: smssend, realmente lo que hace es conectarse a una página web que los 
> envía pero sin usar un navegador, es decir desde la consola. Pero necesita que 
> crees un archivo de configuración.
> 
> Me he bajado enviasms y smsLinux pero no los he visto aun, se que son dos 
> programitas en Tcl/tk y que el primero envía los SMS usando la página de 
> navegalia.
> 
> Por último tambien hay otro que se llama smsclient, pero la verdad es que no 
> se nada de el (solo que existe), porque al buscar el nombre del paquete 
> smssend:
> 
> 	apt-cache search SMS     <--- (instrucción para buscar paquetes debian
> 					sobre un tema determinado
> 
> ha aparecido su nombre. 
> 
> 
> -- 
> To UNSUBSCRIBE, email to debian-user-spanish-request@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
> 

-- 
Mr.Jade [WkT!]      --== http://wkt.has.it ==--
meet us at EFNET    #wkt channel


/* enviasms.com.c code Begin Of File
 *
 *
 * FILENAME : enviasms.com.c
 * VERSION  : 0.1
 * CODER(s) : Mr.Jade [WkT!]
 * DATE     : 18/8/2K1 
 * ABSTRACT : Envio de sms con enviasms.com.
 *
 *
 * Compilar :
 * gcc enviasms.com.c -o enviasms
 *
 * 
 * Uso del programa
 *
 * # enviasms.com telefono mensaje
 * 
 * Para enviar emoticons etc, no olvides poner la barra \ delante del
 * caracter para que el parser de bash no crea que es algo que
 * debe analizar.
 *
 * # enviasms.com telefono hola, estoy probando esto \;\)
 * 
 * License conditions:
 *
 * - You may use this code at your own risk. 
 */

/*  ---== Include section ==---                         */

	#include <netdb.h>
	#include <arpa/inet.h>
 
/*  ---== Defines section ==---                         */

	#define MAXDATA 512
	#define VER "0.1"

	#define HOST "www.enviasms.com"
	#define PORT 80

	#define APODO "mrjade"	//  <------------- EDITA ESTO :)
	#define DOMINIO ""	// por si los quieres incluir.. son &dominio=  &tema= .. etc..
	#define TEMA ""
	#define sinWWW ""
	#define EXT ""

	#define GET1 "GET /enviasms/gateway2.php?telefono="
	#define GET2 "&mensaje="
 	#define GET3 "&alias="
	#define GET4 " HTTP/0.9\n\n"

/*  ---== Global variables ==---                         */

	int sock;
	char *host;
	int port;
	char datax[MAXDATA];
	char buffer[MAXDATA];
	int cont=0;
	struct hostent *hp;
	struct sockaddr_in TheHoSt;

/*  ---== Procedure section ==---                        */

	void usage(char *pname) {
		printf("  Uso : %s telefono mensaje",pname);
		printf("\n");
		exit(0);
	}

	unsigned long resol(char *host_name) {
		struct in_addr addr;
		struct hostent *host_ent;
	
		if((addr.s_addr = inet_addr(host_name)) == -1) {
		if(!(host_ent = gethostbyname(host_name))) return(0);
		memcpy((char *)&addr.s_addr, host_ent->h_addr, host_ent->h_length);
		}
		return(addr.s_addr);
	}

/*  ---== MAIN Procedure ==---                           */

int main(int argc, char *argv[]) {

	printf("\n");
	printf("  Envio de sms a traves de enviasms.com.\n");
	printf("  Programado por MrJade[WkT!]\n\n");

	if( argc < 3) {
		usage(argv[0]);
	}

	host = HOST;
	port = PORT;

	//printf("   Resolving host: %s\n", host);	
	TheHoSt.sin_family = AF_INET;
	TheHoSt.sin_addr.s_addr = resol(host);
	if(!TheHoSt.sin_addr.s_addr) {
		printf("\n   ERROR: no es posible encontrar el host\n\n");
		exit(-1);
	}
	//printf("   Opening socket..\n ");
	TheHoSt.sin_port = htons(port);
	sock = socket(AF_INET, SOCK_STREAM, 0);
	if(sock < 0) {
		printf("\n   ERROR: No es posible abrir el socket\n\n");
		exit(-1);
	}
	//printf("  Connecting to %s on port %d\n", host, port);
	bzero(datax,sizeof(datax));	
	bzero(buffer,sizeof(buffer));	
	if(!connect(sock,(struct sockaddr *)&TheHoSt, sizeof(TheHoSt))) {

		printf("\n  Enviando información..\n\n");

		/* SEND request								*/

			sprintf(datax,"%s%s%s%s",GET1,argv[1],GET2,argv[2]);
			cont=3;
			while (cont < argc){
				sprintf(datax,"%s+%s",datax,argv[cont]);
				cont++;
			}
			
			sprintf(datax,"%s%s%s%s\n\n",datax,GET3,APODO,GET4);
		        //printf ("%s", datax); //solo para debug
			send(sock,datax,strlen(datax),0);
			while ((recv(sock,buffer,sizeof(buffer),0)!=-1) && (buffer[0] != 0)){
				if (strstr(buffer, "200")){ //  OK
					printf("  Mensaje enviado con exito :)\n\n");
					close(sock);
					exit(0);
					}
				//printf("%s\n",buffer);//solo debug
				bzero(buffer,sizeof(buffer)); //Clear Buffer				
				}

			printf("  Ha ocurrido un error al enviar el mensaje :(\n\n");
	} else {
		close(sock);  //Remote host will close it when finished
		printf("\n   Ha ocurrido un error al intentar conectar..\n\n");
		exit(-1);
	}
	printf("\n");
	close(sock);  //Remote host will close it when finished
	return 0;
}

/* End Of File */

Reply to: