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

 
 
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
 



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 10:32:56.


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