Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Colaboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-08-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por cancun Ver Mensaje
Espero exista algo que funcione de ese modo para no hacer ajustes en el programa o en el equipo de cada usuario.
A ver, esto que pides es prácticamente imposible. Piensa que tu plicación estría funcionando como un cliente de correo, así como, por ejemplo, el Thunderbird o el Outlook. Cualquier cliente de correo necesariamente debes especificarle los parámetros adecuados según el servidor de correo que tenga el usuario. Si a esos clientes de correo les tienes que indicar tales parámetros, ¿por qué esperas que a tu aplicación no?

// Saludos
Responder Con Cita
  #2  
Antiguo 24-08-2012
cancun cancun is offline
Miembro
 
Registrado: may 2003
Ubicación: Cancun, México
Posts: 115
Poder: 24
cancun Va por buen camino
Hola



Creo que no me ha dado a entender, no me refería a no configurar nada, es obvio que por lo menos tengo que indicar la cuenta de correo que envia, tengo entendido que para enviar los correos es necesario configurar los valores para el servidor de correo que se usa, por ejemplo vamos a suponer que el usuario tiene una cuenta en el servidor de correos de la empresa (facturacion.empresa.com) lleva unos parametros o ([email protected]) supongo lleva unos valores diferentes, pero la idea es que el codigo o componente funcione con ambos sin que haya que modificarlo solo configurarlo, de hecho tengo entendido que algunos componentes funcionan sin usar un servidor de correo (tal vez estoy mal o entendí mal) creo que envian el correo directamente al servidor de la cuenta destino o algo así.


Bueno si alguien me puede comentar que componente usa para enviar correo y que tal funciona (si le ha dado problema en algunos casos y si lo pudo arreglar) eso es lo que quisiera saber, gracias

Saludos desde el caribe
__________________
Cancun, Q.Roo, México
Responder Con Cita
  #3  
Antiguo 24-08-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pues sí, entiendo. Pero justamente, clientes como Thunderbird te permiten configurar servidores con SSL/TLS o STARTTLS que son los que usan, por ejemplo, gmail y hotmail respectivamente. Y es cuando, usando Indy, debes agegar los componentes adecuados.

Posiblemente puedas lograr algo más general si incluyes los componentes regulares de Indy junto con los de SSL y hacer las asignaciones pertinentes según lo que escoja el usuario.

// Saludos
Responder Con Cita
  #4  
Antiguo 25-08-2012
Loviedo Loviedo is offline
Miembro
 
Registrado: dic 2004
Posts: 214
Poder: 0
Loviedo cantidad desconocida en este momento
Creo que lo más facil es que todos los clientes utilicen el mismo servidor de correo.
Al cliente se le explica que la aplicación lleva implícita la configuración de un servidor de correo determinado. Hoy no hay problema para abrir cuentas de correo.
Saludos.
Responder Con Cita
  #5  
Antiguo 27-08-2012
cancun cancun is offline
Miembro
 
Registrado: may 2003
Ubicación: Cancun, México
Posts: 115
Poder: 24
cancun Va por buen camino
Tal vez eso ayude, pero preguntaba quien había utilizado código o algun componente para enviar correos y le haya funcionado bien, pero creo que mejor empezaré a experimentar con lo que encuentre, muchas gracias a todos los que respondieron.
__________________
Cancun, Q.Roo, México
Responder Con Cita
  #6  
Antiguo 27-08-2012
Loviedo Loviedo is offline
Miembro
 
Registrado: dic 2004
Posts: 214
Poder: 0
Loviedo cantidad desconocida en este momento
He utilizado Delphi7, Indy9 y Yahoo y me funciona bien.
Saludos.
Responder Con Cita
  #7  
Antiguo 28-08-2012
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 23
AzidRain Va camino a la fama
Yo tengo algo funcionando que hace exactamente eso, utiliza Indy y hasta ahorita nunca ha dado problemas salvo con hotmail y cosas raras, pero mi cliente tiene su correo con su propio y no le ha dado lata.

Asi lo hago:
Código Delphi [-]
Procedure EnviarCFD(aEmail:string;aNo_talon:Integer; aSucursal:string;  asilent:boolean = false);overload;
// Componente de envio de correo
 var
   Correo    : TMailer;
   TextoMess : TStringList;
   Adjuntos  : TStringList;
   sFile     : string;

Begin
  Correo    := TMailer.Create;
  TextoMess := TStringList.Create;
  Adjuntos  := TStringList.Create;
  Screen.Cursor := crHourGlass;
  try
    Correo.CargaConfigSistemaDB; //Preparamos para enviar desde el correo del sistema
    sFile := uCFDTools.ExtractXMLFile(aNo_talon, aSucursal);
    Adjuntos.Add(sFile);
    ufqrTalonCFD.GeneraPDFTalonCFD(aNo_talon, aSucursal);
    sFile := uCFDTools.GetFullPDFFileName(aNo_talon, aSucursal);
    Adjuntos.Add(sFile);
    With TextoMess do
    begin
      Add('Estimado XXXXX:');
      Add('');
      Add('Anexo encontrará su comprobante Fiscal Digital');
      Add('');
      Add('Este es un correo generado de forma automática, por favor no lo responda');
      Add('Estamos a sus órdenes en el correo [email protected]')
    end;
    Correo.FormatHMTLMessage(TextoMess);
    Correo.ConectaMail;
    Correo.EnviaEmailHTML(CFDMAIL_NOMBRECORREO,Correo.cuenta_origen,aEmail,CFDMAIL_ASUNTOCORREO,TextoMes  s,Adjuntos);
    Correo.DesconectaMail;
    If not asilent Then MessInfo('E-Mail enviado con éxito');
  finally
    Correo.Free;
    Adjuntos.Free;
    TExtoMess.Free;
    Screen.Cursor := crDefault;
   
  end;

end;

Obviamente tiene varias funciones propias, pero la que hace todo es esta:
Código Delphi [-]

Procedure TMailer.EnviaEmailHTML(nombre, desde, hasta, pasunto:String; ahtml,aTXT:TStringList;  adjunto: string);
var
  // Componente de envio de correo
   Mensaje : TIdMessage;
   txtPart : TIdText;
   htmPart : TIdtext;
   bmpPart : TIdAttachment;


Begin
  Mensaje:=TIDMessage.CREATE(nil);


Try
  with Mensaje do
  begin
    From.Address := desde;
    From.Name    := nombre;
    Recipients.EMailAddresses := hasta; //formamails.Emails.;}
    Subject                   := pasunto;
  //  Priority                  := TIdMessagePriority(mpHighest);//prioridad del mensaje
    CCList.EMailAddresses     := '';
    BccList.EMailAddresses    := '';


    ContentType := 'multipart/mixed';   //multipart/alternative
    //Creamos las 2 partes del e-mail, una en texto plano y la otra en html para

    {txtpart             := TIdText.Create( MessageParts,aTXT );
    txtpart.ContentType := 'text/plain';}
    htmpart             := TIdText.Create( MessageParts,ahtml );
    htmpart.ContentType := 'text/html';

    if Adjunto<>'' then
    Begin
        With TIdAttachmentFile.Create(Mensaje.MessageParts,adjunto) do

          //Utilizamos entonces la funcion Extract
          ContentType := GetMIMEType(adjunto);

    End;
  end; //configuracion server smtp

     MailHost.Send(Mensaje);

   finally
      Mensaje.free;
  end;


end;

{Esta función analiza la extensión del archivo pasado como parámetro y nos
devuelte un MIMETYpe adecuado para enviar por mail como adjunto si la extension
no es reconocida se manda como genérico.
}
function TMailer.GetMIMEType(afilename: string): String;
var Ext: string;
begin
  Ext := UpperCase(ExtractFileExt(afilename));

  if Ext='.PDF' then
   Result := 'application/pdf'
   else
     if Ext='.ZIP' then
       Result := 'application/zip'
     else
        if Ext='.MP3' then
         Result := 'audio/mpeg'
       else
       if (Ext='.JPG') OR (Ext='.JPEG') then
         Result := 'image/jpeg'
       else
         if (Ext='.XLS')  then
           Result := 'application/vnd.ms-excel'
         else
          if (Ext='.XLSX') then
            Result := 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
         else
           if (Ext='.DOC')  then
            Result := 'application/msword'
           else
           if (Ext='.DOCX')  then
            Result := 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
           else
            Result := 'application/octet-stream';


end;

Un poco chapucero el código pero funciona sin problemas, por eso ya no se le ha movido nada bajo la premisa de "si funciona no le muevas"...jejeje
__________________
AKA "El animalito" ||Cordobés a mucha honra||
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
Sobre error para enviar email por gmail lduron Varios 8 23-11-2011 00:19:31
Problema para enviar email con indy delphi7 cmena Internet 2 13-10-2005 21:58:55
Problema al enviar Email con adjuntos usando el componente Idsmtp de las indy Nbull Internet 2 22-11-2004 09:23:38
como puedo hacer para enviar un quick report por email?? merlin Internet 1 14-12-2003 20:24:17
como puedo hacer para enviar un quick report por email?? merlin Impresión 4 05-12-2003 18:06:58


La franja horaria es GMT +2. Ahora son las 14:36:01.


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