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 08-05-2008
Avatar de jcarteagaf
[jcarteagaf] jcarteagaf is offline
Miembro Premium
 
Registrado: abr 2006
Ubicación: La Paz, Bolivia
Posts: 651
Poder: 19
jcarteagaf Va por buen camino
Problema al enviar Mail

Hola, estoy haciendo un programa que debe enviar un mail con un archivo adjunto. Estoy usando Delphi 7 y las Indy 10. He usado un ejemplo que pusieron aca.

Mi codigo es el siguiente:

Código Delphi [-]
 gcUsuarioCorreo.ReadParams;
  if not gcUsuarioCorreo.CheckParams then
  begin
    Mensajeerror('No se definió los parametros de Envio de Datos');
    actSetup.Execute;
    exit;
  end;
  with idMessage do
  begin
    Clear;
    Body.Clear;
    Body.Add('COMPENSA: Los datos adjuntos corresponden al '+FormatDateTime('dd/mm/yyyy',date));
    From.Address := gcUsuarioCorreo.Correo;
    Recipients.EMailAddresses := 'jcafcompensa@yahoo.com';
    Subject := 'Datos correspondientes al '+FormatDateTime('dd/mm/yyyy',date);
    Priority := TidMessagePriority(mpHigh);
    TidAttachmentFile.Create(idMessage.MessageParts,sFileZip);
  end;
  with idSMTP do
  begin
    Username := gcUsuarioCorreo.Usuario;
    Password := gcUsuarioCorreo.Password;
    Host := gcUsuarioCorreo.Host;
    Port := gcUsuarioCorreo.Puerto;
    if Not Connected then
      Connect();
    try
      try
        Controles(true);
        IdSMTP.Send(IdMessage);
      finally
        Controles(false);
        Disconnect;
      end;
      MensajeError('Enviado Correctamente');
    except
      ON E: EIdReplyError do
      begin
        MensajeError('No se ha podido enviar el email.' + #13 +
            'Incorrecto el email o el usuario o el password.');
      end;
      on E: EFOpenError do
      begin
        MensajeError('No se ha podido enviar el email.' + #13 +
          'Fichero Adjunto desconocido o erróneo.');
      end;
      on E: EIdSocketError do
      begin
        MensajeError('No se ha podido enviar el email.'+ #13 +
           'Host desconocido o incorrecto.');
      end
      else
      begin
        MensajeError('Fallo en el envio de email');
        raise;//para que muestre el error.
      end;
    end;
    if connected then
      Disconnect;
  end;
Sin embargo al momento de ejecutar el programa lanza el siguiente erro:
Must Issue a STARTTLS command first

Alguien podria darme una mano con esto. Gracias.
Responder Con Cita
  #2  
Antiguo 09-05-2008
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Cool

Hola... en realidad se parece al codigo que utilizo... pero no le veo el fallo

Código Delphi [-]
     With IdMessage Do
     Begin
          Body.Clear;
          Body.Add(vMensaje.Text);
          From.Text := 'correoenvio@dominio.cl';
          Recipients.EMailAddresses := vPara.Text;
          Subject := vAsunto.Text;
          Priority := TidMessagePriority(mpHighest);
          TidAttachment.Create(IdMessage.MessageParts,Concat('O:\',IntToStr(Ordenes.IBQ_Select['Ord_Numero']),'.pdf'));
     End;
     With IdSMTP do
     Begin
          Username := 'casilla_correo';
          Password := 'clave_casilla';
          Host     := '192.168.1.3'; // Ip del Servidor o nombre del Host
          Port     := 25;
          try
             Connect;
             Try
                Send(IdMessage);
             Finally
                Disconnect;
             End;
             ShowMessage('Se envio la Orden de Compra en forma correcta');
          Except
                On E: EIdProtocolReplyError Do
                   ShowMessage('E-Mail no se ha podido enviar');
                On E: EFOpenError Do
                   Begin
                        ShowMessage('E-Mail no se ha podido enviar' + #13 +
                                    'Fichero Adjunto desconocido o erróneo.');
                   end;
                On E: EIdSocketError Do
                   Begin
                        ShowMessage('E-Mail no se ha podido enviar'+ #13 +
                                    'Host desconocido o incorrecto.');
                   end
                Else
                   ShowMessage('Fallo en el envio de email');
          End;
         If Connected Then Disconnect;
     End;
     Close;
__________________
BlueSteel
Responder Con Cita
  #3  
Antiguo 09-05-2008
Avatar de jcarteagaf
[jcarteagaf] jcarteagaf is offline
Miembro Premium
 
Registrado: abr 2006
Ubicación: La Paz, Bolivia
Posts: 651
Poder: 19
jcarteagaf Va por buen camino
Sigo con el problema, el error mostrado ha sido interceptado por el try except
Código Delphi [-]
      ON E: EIdReplyError do
      begin
        MensajeError('No se ha podido enviar el email.' + #13 +
            'Incorrecto el email o el usuario o el password.');

No puede ser incorrecto ya que uso mi mail de gmail para enviar. uso el puerto 587. Que puede estar mal?

Vamos muchachos, se que alguien por ahi tiene la solución. Denme una manita, que mientras no entregue esto no puedo solicitar las vacaciones que ya me tocan....

Gracias de antemano....
Responder Con Cita
  #4  
Antiguo 09-05-2008
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Cool

Cita:
Empezado por jcarteagaf Ver Mensaje
Sigo con el problema, el error mostrado ha sido interceptado por el try except

Código Delphi [-] ON E: EIdReplyError do
begin
MensajeError('No se ha podido enviar el email.' + #13 +
'Incorrecto el email o el usuario o el password.');




No puede ser incorrecto ya que uso mi mail de gmail para enviar. uso el puerto 587. Que puede estar mal?

Vamos muchachos, se que alguien por ahi tiene la solución. Denme una manita, que mientras no entregue esto no puedo solicitar las vacaciones que ya me tocan....

Gracias de antemano....
podrias intentar con utilizar otro puerto....

Cita:
Gmail requiere una conexión cifrada SSL (capa de sockets segura) (capa de sockets seguros (Secure Sockets Layer, SSL): estándar abierto propuesto desarrollado por Netscape Communications para establecer un canal de comunicaciones seguro para que no se produzca la intercepción de información importante como números de tarjetas de crédito.) cuando recupera y envía correo electrónico. Gmail usa el puerto número 995 para POP3 (POP3: protocolo común que se utiliza para recuperar mensajes de correo electrónico de un servidor de correo electrónico de Internet.) y el puerto 465 para SMTP (Protocolo simple de transferencia de correo (SMTP): protocolo común que se utiliza para enviar mensajes de correo electrónico a través de Internet.). Esta configuración no es la predeterminada para una cuenta POP3 en Outlook y requiere que modifique la configuración de la cuenta en Outlook.
salu2
__________________
BlueSteel
Responder Con Cita
  #5  
Antiguo 09-05-2008
Avatar de jcarteagaf
[jcarteagaf] jcarteagaf is offline
Miembro Premium
 
Registrado: abr 2006
Ubicación: La Paz, Bolivia
Posts: 651
Poder: 19
jcarteagaf Va por buen camino
Muchas gracias por responder amigo Blue, estuve haciendo pruebas con el puerto 465, ya no lanza la excepción pero el programa se como congelado (en realidad me permite operarlo, pero al hacer click sobre cualquier boton lanza un access violation). Tampoco envia el mail y no llega a emitir el mensaje de Mensaje Enviado que tengo al final del proceso.

Alguna otra idea? Para probar solo puedo usar mis cuentas de gmail, hotmail o yahoo ya que no tengo un servidor de correo propio. Eso si, cuando distribuya el programa, los clientes tienen correos corporativos pero como pruebo que funciona?

Gracias de nuevo.
Responder Con Cita
  #6  
Antiguo 09-05-2008
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Cool

Cita:
Empezado por jcarteagaf Ver Mensaje
Muchas gracias por responder amigo Blue, estuve haciendo pruebas con el puerto 465, ya no lanza la excepción pero el programa se como congelado (en realidad me permite operarlo, pero al hacer click sobre cualquier boton lanza un access violation). Tampoco envia el mail y no llega a emitir el mensaje de Mensaje Enviado que tengo al final del proceso.

Alguna otra idea? Para probar solo puedo usar mis cuentas de gmail, hotmail o yahoo ya que no tengo un servidor de correo propio. Eso si, cuando distribuya el programa, los clientes tienen correos corporativos pero como pruebo que funciona?

Gracias de nuevo.

si quieres puedes probar con la sgte cuenta (la cree en mi servidor)

correo : jcarteagaf@cdh.cl
usuario: jcarteagaf
clave: idem_al_usuario

smtp : smtp.cdh.cl
pto : 25 (prueba con este...)

bueno, esto te permite enviar por ese correo....

Salu2
__________________
BlueSteel
Responder Con Cita
  #7  
Antiguo 09-05-2008
Avatar de jcarteagaf
[jcarteagaf] jcarteagaf is offline
Miembro Premium
 
Registrado: abr 2006
Ubicación: La Paz, Bolivia
Posts: 651
Poder: 19
jcarteagaf Va por buen camino
Mil gracias nuevamente amigo Blue. Probe con esa cuenta y me da la excepcion inicial.

Seguire intentando esta tarde, ahora me voy a almorzar....

Nuevamente muchisimas gracias.

Saludos.
Responder Con Cita
  #8  
Antiguo 09-05-2008
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Cool

Cita:
Empezado por jcarteagaf Ver Mensaje
Mil gracias nuevamente amigo Blue. Probe con esa cuenta y me da la excepcion inicial.

Seguire intentando esta tarde, ahora me voy a almorzar....

Nuevamente muchisimas gracias.

Saludos.
pues, puede que tengas problemas con los puertos.. que estos este cerrados....

mira.. si tienes outlook.. configura la cuenta en el... y realizas una prueba.. si te funciona en el outlook... te debiera funcionar en tu sistema

cuenta : jcarteagaf
usuario : jcarteagaf

SMTP : smtp.cdh.cl o dirección_IP
POP3 : pop.cdh.cl o dirección_IP

para saber la dirección IP hace un ping a smtp.cdh.cl y anotas la dirección que te de...debe ser 200.72.209.106 (no estoy seguro)

si quieres entrar al correo lo puedes hacer desde aquí ingresando solo el usuario y contraseña..

bueno,.. por lo pronto no se me ocurre nada más....

Salu2
__________________
BlueSteel
Responder Con Cita
  #9  
Antiguo 09-05-2008
Avatar de jcarteagaf
[jcarteagaf] jcarteagaf is offline
Miembro Premium
 
Registrado: abr 2006
Ubicación: La Paz, Bolivia
Posts: 651
Poder: 19
jcarteagaf Va por buen camino
Estuve probando con los datos que me diste amigo BlueSteel y me da el siguiente error:

Requested action not taken: mailbox unavailable

Alguna idea?

Gracias por anticipado.
Responder Con Cita
  #10  
Antiguo 09-05-2008
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Cita:
Empezado por jcarteagaf Ver Mensaje
Estuve probando con los datos que me diste amigo BlueSteel y me da el siguiente error:

Requested action not taken: mailbox unavailable

Alguna idea?

Gracias por anticipado.
Pero donde te da ese error ???

para que veas que la cuenta funciona... ingresa al webmail

Salu2
__________________
BlueSteel
Responder Con Cita
  #11  
Antiguo 09-05-2008
Avatar de jcarteagaf
[jcarteagaf] jcarteagaf is offline
Miembro Premium
 
Registrado: abr 2006
Ubicación: La Paz, Bolivia
Posts: 651
Poder: 19
jcarteagaf Va por buen camino
Pues en el webmail si funciona.

Es algo que debo estar haciendo mal. Revisare nuevamente mis procesos y te aviso cualquier cosa.

Gracias.
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
enviar mail mjjj Varios 4 29-04-2008 03:50:17
enviar archivo por e-mail karocs Internet 2 16-06-2006 03:17:01
Enviar e-mail D-MO PHP 5 10-01-2006 19:21:08
enviar mail amadis API de Windows 2 06-05-2005 04:02:02
Enviar e-mail en HTML alapaco Internet 0 23-06-2003 17:39:32


La franja horaria es GMT +2. Ahora son las 20:34:12.


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