Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-02-2016
Ramsay Ramsay is offline
Miembro
NULL
 
Registrado: ene 2016
Posts: 104
Poder: 9
Ramsay Va por buen camino
Tecnica para mandar SMS gratis

Hola , estoy estudiando este codigo para mandar SMS gratis.

El post :

Código Delphi [-]

function TFEnviar1.sendMail(SMTP_Server:String; SMTP_Port:Integer; SMTP_AuthType:TIdSMTPAuthenticationType;
                  SMTP_UseTLS:TIdUseTLS; From_Mail, From_Name, From_Pass, To_List_Emails,
                  Mail_Subject:String; Body_Message:TMemo):String;
var
  IdMessage1: TIdMessage;
  IdSMTP1:TIdSMTP;
  IdSSLSocket: TIdSSLIOHandlerSocketOpenSSL;
  lista:TStringList;
  i:integer;
begin
  IdMessage1 := TIdMessage.Create(nil);
  IdSMTP1 := TIdSMTP.Create(nil);
  IdSSLSocket := TIdSSLIOHandlerSocketOpenSSL.Create(nil);

  //IdSSLSocket.OnStatusInfo := @OpenSSLStatusInfo;
  IdSMTP1.IOHandler := IdSSLSocket;
  idSMTP1.AuthType := SMTP_AuthType;
  idSMTP1.Host := SMTP_Server;
  idSMTP1.Port := SMTP_Port;
  idSMTP1.Username:= From_Mail;
  idSMTP1.Password:= From_Pass;
  idSMTP1.UseTLS := SMTP_UseTLS;
  IdMessage1.From.Text := From_Mail;
  IdMessage1.From.Name := From_Name;
  IdMessage1.Recipients.EMailAddresses := To_List_Emails;
  IdMessage1.Subject := UTF8ToAnsi(Mail_Subject);
  lista:= TStringList.Create;
  for i:=0 to Body_Message.lines.count-1 do
      lista.Add(Body_Message.lines[i]);

  IdMessage1.Body.Clear;
  IdMessage1.Body.Text := lista.Text;
  //CargaMensajeMail(From_Mail,To_List_Emails,UTF8ToAnsi(Mail_Subject),lista);
  try
      idSMTP1.Connect;
      application.processmessages;
      IdSMTP1.Send(IdMessage1);
  except
      on E: Exception do
        ShowMessage('Failed: ' + E.Message);
  end;
    idSMTP1.Disconnect();
    IdMessage1.Free;
    IdSMTP1.Free;
    IdSSLSocket.Free;
end;

Y los botones deben llamar a la función con los datos de nuestra cuenta de correo, para gmail es.
Código Delphi [-]


procedure TFEnviar1.BTNEnviarClick(Sender: TObject);

begin
    sendMail('smtp.gmail.com',587,satDefault,utUseExplicitTLS,'martin.artaza@gmail.com',
          Edeparte.text,'tuclave',edestino.Text,easunto.text, Memo1);
end;

y para mandar un SMS es (para argentina):

Código Delphi [-]
procedure TFEnviar1.Button1Click(Sender: TObject);
var direccion: string;
begin
direccion := earea.text + enumero.Text;
case cbCompania.ItemIndex of
  0: begin direccion := direccion + '@sms.ctimovil.com.ar'; end;
  1: begin direccion := direccion + '@sms.movistar.net.ar'; end;
  2: begin direccion := direccion + '@personal-net.com.ar'; end;
  end;
sendMail('smtp.gmail.com',587,satDefault,utUseExplicitTLS,'martin.artaza@gmail.com',
        Edeparte.text,'tuclave', direccion,easunto.text, Memo1);
end;


Bueno, le dejo el código completo.


Código Delphi [-]
unit UEnviarMail;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
  IdHTTP, IdSMTP, IdMessage, IdPOP3, IdSSLOpenSSL,


  IdAttachment, IdAttachmentFile, IdIOHandler,
    IdIOHandlerSocket, IdIOHandlerStack, IdSSL, IdBaseComponent,
    IdComponent, IdTCPConnection, IdTCPClient, IdExplicitTLSClientServerBase,
    IdMessageClient, IdSMTPBase,


  IdGlobal, IdCmdTCPServer;
{
,
  IdException, IdServerIOHandler;
}

type

  { TFEnviar1 }

  TFEnviar1 = class(TForm)
    BTNEnviar: TButton;
    Button1: TButton;
    Button2: TButton;
    CBCompania: TComboBox;
    EDestino: TEdit;
    Edeparte: TEdit;
    EAsunto: TEdit;
    EArea: TEdit;
    ENumero: TEdit;
    IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Memo1: TMemo;
    procedure BTNEnviarClick(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { private declarations }
  public
    function sendMail(SMTP_Server:String; SMTP_Port:Integer; SMTP_AuthType:TIdSMTPAuthenticationType;
                      SMTP_UseTLS:TIdUseTLS; From_Mail, From_Name, From_Pass, To_List_Emails,
                      Mail_Subject:String; Body_Message:TMemo):String;
  end;

var
  FEnviar1: TFEnviar1;
implementation

{$R *.lfm}

{ TFEnviar1 }


{ TFEnviar1 }


function TFEnviar1.sendMail(SMTP_Server:String; SMTP_Port:Integer; SMTP_AuthType:TIdSMTPAuthenticationType;
                  SMTP_UseTLS:TIdUseTLS; From_Mail, From_Name, From_Pass, To_List_Emails,
                  Mail_Subject:String; Body_Message:TMemo):String;
var
  IdMessage1: TIdMessage;
  IdSMTP1:TIdSMTP;
  IdSSLSocket: TIdSSLIOHandlerSocketOpenSSL;
  lista:TStringList;
  i:integer;
begin
  IdMessage1 := TIdMessage.Create(nil);
  IdSMTP1 := TIdSMTP.Create(nil);
  IdSSLSocket := TIdSSLIOHandlerSocketOpenSSL.Create(nil);

  //IdSSLSocket.OnStatusInfo := @OpenSSLStatusInfo;
  IdSMTP1.IOHandler := IdSSLSocket;
  idSMTP1.AuthType := SMTP_AuthType;
  idSMTP1.Host := SMTP_Server;
  idSMTP1.Port := SMTP_Port;
  idSMTP1.Username:= From_Mail;
  idSMTP1.Password:= From_Pass;
  idSMTP1.UseTLS := SMTP_UseTLS;
  IdMessage1.From.Text := From_Mail;
  IdMessage1.From.Name := From_Name;
  IdMessage1.Recipients.EMailAddresses := To_List_Emails;
  IdMessage1.Subject := UTF8ToAnsi(Mail_Subject);
  lista:= TStringList.Create;
  for i:=0 to Body_Message.lines.count-1 do
      lista.Add(Body_Message.lines[i]);

  IdMessage1.Body.Clear;
  IdMessage1.Body.Text := lista.Text;
  //CargaMensajeMail(From_Mail,To_List_Emails,UTF8ToAnsi(Mail_Subject),lista);
  try
      idSMTP1.Connect;
      application.processmessages;
      IdSMTP1.Send(IdMessage1);
  except
      on E: Exception do
        ShowMessage('Failed: ' + E.Message);
  end;
    idSMTP1.Disconnect();
    IdMessage1.Free;
    IdSMTP1.Free;
    IdSSLSocket.Free;
end;


procedure TFEnviar1.BTNEnviarClick(Sender: TObject);

begin
    sendMail('smtp.gmail.com',587,satDefault,utUseExplicitTLS,'martin.artaza@gmail.com',
          Edeparte.text,'tuclave',edestino.Text,easunto.text, Memo1);
end;

procedure TFEnviar1.Button1Click(Sender: TObject);
var direccion: string;
begin
direccion := earea.text + enumero.Text;
case cbCompania.ItemIndex of
  0: begin direccion := direccion + '@sms.ctimovil.com.ar'; end;
  1: begin direccion := direccion + '@sms.movistar.net.ar'; end;
  2: begin direccion := direccion + '@personal-net.com.ar'; end;
  end;
sendMail('smtp.gmail.com',587,satDefault,utUseExplicitTLS,'martin.artaza@gmail.com',
        Edeparte.text,'tuclave', direccion,easunto.text, Memo1);
end;

procedure TFEnviar1.Button2Click(Sender: TObject);
begin
  close;
end;

Fin del post

Queria saber si esta tecnica para mandar sms gratis sigue funcionando porque este codigo se hizo en el 2009 o 2010. ¿ Esta tecnica sigue funcionando o esta obsoleta ?
Responder Con Cita
  #2  
Antiguo 14-02-2016
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
De flojera tu pregunta y de pésima reputación la misma. No existe ningún servicio que permita enviar SMS "gratis" en ningún lugar del mundo y los que como se ve que "investigaste" lo hacen son a cambio de apabullar al remitente con anuncios y demás basura no deseada. Hay cientos de proveedores serios del servicio que necesitas pero obviamente se cobra por el servicio pues no son enchiladas el implementar todo lo necesario para que funcione. Si eres uno de esos "desarrolladores" que 1.- Venden soluciones y se basan en todo lo que encuentren gratis en la red. 2.- Lo que no saben ni tienen idea de como se hace preguntan en foros especializados pues creo que te equivocaste de lugar mi amigo. Por cierto casi todos los proveedores de estos servicios como parte del pago te dan soporte a implementar su servicio...
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
La mejor tecnica para actualizar datos NickName Firebird e Interbase 1 20-06-2011 15:47:08
cual es la mejor tecnica para crear una factura DELFIN2000 Conexión con bases de datos 6 23-10-2010 20:09:16
Existe alguna tecnica para no repetir codigo? pablopessoa Varios 25 11-03-2010 00:28:41
Uso de Compononetes para reutilizar codigo (abuso de la tecnica) olmecas OOP 9 17-01-2008 18:47:28
Gratis para usuarios BDS 2005! mamcx Noticias 2 02-09-2006 21:34:51


La franja horaria es GMT +2. Ahora son las 11:54:51.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi