Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-05-2013
reevil reevil is offline
Miembro
 
Registrado: abr 2006
Posts: 179
Poder: 18
reevil Va por buen camino
Enviar correo desde Lazarus

A modo de contexto les comento que estoy trabajando con Lazarus (CodeTyphon en su ultima versión) sobre Manjaro 64bit (GNU/Linux).

La aplicación funciona correctamente en lo que al manejo de la base de datos se refiere, pero cuando trato de enviar un correo utilizando los componentes Indy (idSMTP, idMessage) que son con lo que acostumbraba a hacer esto desde C++ Builder (varias versiones, la ultima en que lo probé y funciono era la XE2).

Tengo este pequeño ejemplo en el que trato de hacerlo lo mas básico que puede (sin archivos adjuntos, indicando incluso en que Form están los componentes...)

Código Delphi [-]
//SMTP es un idSMTP  y Mensaje un idMessage.
begin
  Form1.SMTP.Host:='mail.dominio.com';
  Form1.SMTP.Port:=25;
  Form1.SMTP.AuthType:=satDefault;
  //    Form1.SMTP.AuthType:=satSASL; // no lo solicita el servidor.
  Form1.Mensaje.From.Address := 'nombre@servidor.com';
  Form1.Mensaje.Recipients.EMailAddresses := 'nombre@servidor.com';
  Form1.Mensaje.Subject:='Subject';
  Form1.Mensaje.Body.Text:='Body';
  try
    try
      Form1.SMTP.Connect;
      Application.processmessages; // comentando esta linea tampoco me funciona.
      Form1.SMTP.Send(Form1.Mensaje) ;
    except on E:Exception do
      ShowMessage('Error al enviar');
    end;
  finally
    if Form1.SMTP.Connected then
      Form1.SMTP.Disconnect;
  end;
end;

Ahora el problema es que al momento de compilar no me marca error y al ejecutar el procedimiento simplemente no pasa nada, no me regresa ningún mensaje, así que no tengo pistas de donde pueda estar el problema.

Última edición por ecfisa fecha: 01-05-2013 a las 22:58:20. Razón: corrección a pedido del usuario
Responder Con Cita
  #2  
Antiguo 01-05-2013
reevil reevil is offline
Miembro
 
Registrado: abr 2006
Posts: 179
Poder: 18
reevil Va por buen camino
Algún moderador que me ayude a corregir el mensaje?
Algo me fallo al querer resaltar el código y ahora no puedo editarlo.
Responder Con Cita
  #3  
Antiguo 02-05-2013
reevil reevil is offline
Miembro
 
Registrado: abr 2006
Posts: 179
Poder: 18
reevil Va por buen camino
Después de unas horas batallando me di por vencido con las INDY y opte por Synapse.
Código Delphi [-]
uses
   SMTPSend, MIMEPart, MIMEMess;
procedure TForm.SendEmailClick(Sender: TObject); 
var   
  MIMEText: TStrings;   
  MIMEPart: TMimePart;   
  MIMEMessage: TMimeMess; 
begin   
  MIMEText := TStringList.Create;   
  MIMEText.Add('Hello,');   
  MIMEText.Add('here is the text of your e-mail message,');   
  MIMEText.Add('if you want the HTML format, use AddPartHTML');   
  MIMEText.Add('or e.g. AddPartHTMLFromFile if you have your');   
  MIMEText.Add('HTML message content in a file.');    
  MIMEMessage := TMimeMess.Create;    
  with MIMEMessage do   
  try     
    Header.Date := Now;     
    Header.From := 'sender@from.com';     
    Header.ToList.Clear;     
    Header.ToList.Add('recipient@to.com');     
    Header.CcList.Clear;     
    Header.Subject := 'E-mail subject';     
    Header.XMailer := 'My mail client name';      
    MIMEPart := AddPartMultipart('mixed', nil);      
    AddPartText(MIMEText, MIMEPart);     
    AddPartBinaryFromFile('c:\voucher.pdf', MIMEPart);      
    EncodeMessage;      
    if SendToRaw(Header.From,  // e-mail sender                  
                 Header.ToList.CommaText,   // comma delimited recipient list                  
                 'smtp.server.com',         // SMTP server                  
                 Lines,                     // MIME message data                  
                 'login',                   // server authentication                  
                 'password')                // server authentication     
    then       
      ShowMessage('E-mail has been successfuly sent ')     
    else       
      ShowMessage('E-mail sending failed ');   
  finally     
    Free;     
    MIMEText.Free;   
  end; 
end;

Añadiendo las librerías y con las modificaciones para adaptarlo a mis necesidades, va perfecto ese código.

Lo encontré aquí: http://stackoverflow.com/questions/6...lient-agnostic

Última edición por Casimiro Notevi fecha: 02-05-2013 a las 13:11:36.
Responder Con Cita
  #4  
Antiguo 02-05-2013
pedrolazarus pedrolazarus is offline
Miembro
NULL
 
Registrado: sep 2012
Posts: 91
Poder: 12
pedrolazarus Va por buen camino
Cita:
Empezado por reevil Ver Mensaje
Después de unas horas batallando me di por vencido con las INDY y opte por Synapse.
Código Delphi [

Añadiendo las librerías y con las modificaciones para adaptarlo a mis necesidades, va perfecto ese código.

Lo encontré aquí: http://stackoverflow.com/questions/6...lient-agnostic
Bueno de una pregunta paso a un aporte , se agradece.
Responder Con Cita
  #5  
Antiguo 03-05-2013
reevil reevil is offline
Miembro
 
Registrado: abr 2006
Posts: 179
Poder: 18
reevil Va por buen camino
Es de lo que se tratan los foros, pero parece que a la gran mayoría se les olvida.
Al resolver al problema hay que poner la solución.
Saludos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Como Enviar correo desde php uper Linux 1 20-07-2011 17:12:52
Enviar correo desde Word MAXIUM Servers 4 11-08-2010 19:54:05
Enviar correo desde Delphi 7 carlos gonzalez Varios 2 06-02-2009 14:51:46
Enviar correo desde delphi 7 Lizeth Varios 4 19-09-2008 20:34:55
Enviar correo desde fastnet desde delphi. uper Internet 1 20-02-2007 02:32:11


La franja horaria es GMT +2. Ahora son las 07:51:38.


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