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 03-11-2012
y_a_p y_a_p is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 37
Poder: 0
y_a_p Va por buen camino
Envío de mail con un archivo adjunto.

Hola a todos, la verdad necesito ayuda urgente!, tengo un programa para un pediatra, en Delphi 7, Firebird, SQL Manager, necesito que envie archivos por mail, el tema es que estuve leyendo y no se por donde arrancar... no se que componente debo usar y como usarlo... agradecería por favor su ayuda urgente, gracias
Responder Con Cita
  #2  
Antiguo 03-11-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola y_a_p.

Mira en estos enlaces:
Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 03-11-2012 a las 22:38:49.
Responder Con Cita
  #3  
Antiguo 03-11-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pues además de leer nuestra guía de estilo , también puedes ver los enlaces que hay al final de esta misma página.
También puedes hacer una búsqueda, es un tema que se ha tratado muchísimas veces.
Responder Con Cita
  #4  
Antiguo 03-11-2012
y_a_p y_a_p is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 37
Poder: 0
y_a_p Va por buen camino
Disculpen, pero justamente pregunto porque no entiendo nada y el código que me pasas no se donde va, si tengo que crear un formulario. Es la primera vez que programamos esto..
Responder Con Cita
  #5  
Antiguo 03-11-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola y_a_p.

Realmente no es complejo y en el primer enlace está claramente explicado, pero voy a darle funcionalidad por si te sirviera de guía.
  • Dentro del editor de Delphi: File->New->Application.
  • Pone un TButton (pestaña Standard)
  • Inmediatamente debajo de implementation, agrega: uses IdSMTP, IdMessage;
  • Copia la función EnviarMensaje y pegala debajo.
  • Hace doble click sobre el botón que previamente pusiste y agrega la llamada.

El código debería quedarte así:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
  public
  end;

var
  Form1: TForm1;

implementation {$R *.dfm}

uses
  IdSMTP, IdMessage;

procedure EnviarMensaje( sUsuario, sClave, sHost, sAdjunto, sAsunto, sDestino, sMensaje: String );
var 
  SMTP: TIdSMTP;
   Mensaje: TIdMessage;
   Adjunto: TIdAttachment;
begin
  SMTP := TIdSMTP.Create( nil );
  SMTP.Username := sUsuario;
  SMTP.Password := sClave;
  SMTP.Host := sHost;
  SMTP.Port := 25;
  SMTP.AuthenticationType := atLogin;

  Mensaje := TIdMessage.Create( nil );
  Mensaje.Clear;
  Mensaje.From.Name := sDestino;
  Mensaje.From.Address := sDestino;
  Mensaje.Subject := sAsunto;
  Mensaje.Body.Text := sMensaje;
  Mensaje.Recipients.Add;
  Mensaje.Recipients.Items[0].Address := sDestino;

  if sAdjunto <> '' then
  begin
    if FileExists( sAdjunto ) then
      Adjunto := TIdAttachment.Create( Mensaje.MessageParts, sAdjunto );
  end
  else
    Adjunto := nil;

  try
    SMTP.Connect;
  except
    raise Exception.Create( 'Error al conectar con el servidor.' );
  end;

  if SMTP.Connected then
  begin
    try
      SMTP.Send( Mensaje );
    except
      raise Exception.Create( 'Error al enviar el mensaje.' );
    end;

    try
      SMTP.Disconnect;
    except
      raise Exception.Create( 'Error al desconectar del servidor.' );
    end;
  end;

  if Adjunto <> nil then
    FreeAndNil( Adjunto );

  FreeAndNil( Mensaje );
  FreeAndNil( SMTP );

  Application.MessageBox( 'Mensaje enviado correctamente.',
    'Fin de proceso',MB_ICONINFORMATION );
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  EnviarMensaje( 'juanito33', 'djeuE21', 'smtp.terra.es',
             'c:\documento.zip', 'Te envio mi documento',
             'felipe8843@terra.es', 'Adjunto archivo: documento.zip' );
end;

end.
Lógicamente tendrás que cambiar los argumentos enviados a la función EnviarMensaje para que el código sea operativo.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 25-04-2013
angel.sosa angel.sosa is offline
Miembro
NULL
 
Registrado: oct 2012
Posts: 22
Poder: 0
angel.sosa Va por buen camino
hola, yo igual estoy intentando utilizar Indy para enviar mensajes con adjunto, utilizo delphi 7 y veo dentro de sus paquetes que tengo Indy10 dentro de los paquetes, al intentar utilizar el código que sugieren me marca esto, algo similar a los demás ejemplos, incluso los que descargue el el FTP.

Código Delphi [-]
procedure EnviarMensaje( sUsuario, sClave, sHost, sAdjunto, sAsunto, sDestino, sMensaje: String );
var SMTP: TIdSMTP;
   Mensaje: TIdMessage;
   Adjunto: TIdAttachment;
   HS     : TIdSSLIOHandlerSocket ;                 //<<<<<<<<<<<<<<<<<<<<
begin

  HS := TIdSSLIOHandlerSocket.Create( nil );        //<<<<<<<<<<<<<<<<<<<<

el error que me marca es este

Código Delphi [-]
[DCC Error] Unit1.pas(34): E2003 Undeclared identifier: 'TIdAttachment'
Responder Con Cita
  #7  
Antiguo 25-04-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por angel.sosa Ver Mensaje
el error que me marca es este
Código Delphi [-]
[DCC Error] Unit1.pas(34): E2003 Undeclared identifier: 'TIdAttachment'
Hola Angel.

Si revisas con atención el mensaje #5, verás que en la cláusula uses incluyo a:
Código Delphi [-]
...
implementation

uses
  IdSMTP, IdMessage;
...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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
Error en envío de mail con adjunto + Indy 10 agustibaldo Internet 8 23-01-2015 21:23:31
mail con ShellExecute y archivo adjunto MarioATamborini Internet 4 28-06-2007 00:39:20
Error al enviar mail con archivo adjunto cbothamley Internet 0 08-12-2006 04:56:45
Enviar adjunto por mail joel20 JAVA 3 10-07-2006 13:09:38
bajar adjunto de un mail zastilla Internet 0 22-06-2005 14:50:49


La franja horaria es GMT +2. Ahora son las 06:09:35.


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