Club Delphi  
    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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-04-2015
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.457
Poder: 20
newtron Va camino a la fama
Error enviando correo hotmail con Indy

Hola a tod@s.

Llevo tiempo enviando correos sin problemas con las Indy 10 y SSL desde varios servidores como hotmail, gmail, etc. pero desde hace unos días, algunos clientes que usan hotmail me dicen que no les funciona.

El error que da al enviar es "SSL is not avalaible on this server".

¿Os suena que hayan cambiado algo los de hotmail?

Saludos
__________________
Be water my friend.
Responder Con Cita
  #2  
Antiguo 14-05-2015
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.457
Poder: 20
newtron Va camino a la fama
Bueno....

¿Alguien me puede decir si en la actualidad puede enviar correos con Indy usando hotmail como servidor?

Gracias y un saludo.
__________________
Be water my friend.
Responder Con Cita
  #3  
Antiguo 14-05-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No uso hotmail, pero de la web de ellos he copiado estos datos.
Cita:
  • POP3 Servidor entrante
    • Dirección de servidor: pop-mail.outlook.com
    • Puerto: 995
    • Conexión cifrada: SSL
  • SMTP Servidor saliente
    • Dirección del servidor: smtp-mail.outlook.com
    • Puerto: 25 (587 si puerto 25 está bloqueado)
    • Autenticación: Sí
    • Conexión segura: TLS
  • Nombre de usuario: dirección de correo electrónico
  • Contraseña: contraseña
A ver si el problema es por algún antivirus o algo similar.
Responder Con Cita
  #4  
Antiguo 14-05-2015
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por newtron Ver Mensaje
¿Alguien me puede decir si en la actualidad puede enviar correos con Indy usando hotmail como servidor?
Yo estoy usando en algún programa GMail y creo que hotmail también en alguno, y siguen enviando.
Necesitas SSL y los puertos correctos.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 14-05-2015
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.457
Poder: 20
newtron Va camino a la fama
Cita:
Empezado por Casimiro Notevi Ver Mensaje
No uso hotmail, pero de la web de ellos he copiado estos datos.
A ver si el problema es por algún antivirus o algo similar.
No lo creo, me ha llamado algún cliente que sin cambiar nada ha dejado de funcionar y yo estoy haciendo pruebas aquí y nada, no va. Han cambiado cosas porque antes el servidor de salida era "smtp.live.com" y ahora es "smtp-mail.outlook.com".

Cita:
Empezado por Neftali Ver Mensaje
Yo estoy usando en algún programa GMail y creo que hotmail también en alguno, y siguen enviando.
Necesitas SSL y los puertos correctos.
Ok, y ¿serías tan amable de comprobar si sigue funcionando o, en su defecto, pasarte yo los datos de una cuenta y hacer una prueba?

Gracias y un saludo
__________________
Be water my friend.
Responder Con Cita
  #6  
Antiguo 15-05-2015
jeikey jeikey is offline
Registrado
NULL
 
Registrado: may 2015
Posts: 2
Poder: 0
jeikey Va por buen camino
Cita:
Empezado por newtron Ver Mensaje
No lo creo, me ha llamado algún cliente que sin cambiar nada ha dejado de funcionar y yo estoy haciendo pruebas aquí y nada, no va. Han cambiado cosas porque antes el servidor de salida era "smtp.live.com" y ahora es "smtp-mail.outlook.com".



Ok, y ¿serías tan amable de comprobar si sigue funcionando o, en su defecto, pasarte yo los datos de una cuenta y hacer una prueba?

Gracias y un saludo
Hace aproximadamente el mismo tiempo que tú, tuve el mismo problema con outlook, mas no con gmail. La solución fue configurar el control del ssl dentro del codigo:

IdSSLIOHandler.SSLOptions.Method := sslvSSLv23;

Ahi puedes ir jugando con otras asignaciones disponibles. Lo ideal es que tengas esto configurable para cada servidor de correos distintos, como gmail, outlook, entre otros.

Saludos.
Responder Con Cita
  #7  
Antiguo 15-05-2015
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.457
Poder: 20
newtron Va camino a la fama
Cita:
Empezado por jeikey Ver Mensaje
Hace aproximadamente el mismo tiempo que tú, tuve el mismo problema con outlook, mas no con gmail. La solución fue configurar el control del ssl dentro del codigo:

IdSSLIOHandler.SSLOptions.Method := sslvSSLv23;

Ahi puedes ir jugando con otras asignaciones disponibles. Lo ideal es que tengas esto configurable para cada servidor de correos distintos, como gmail, outlook, entre otros.

Saludos.
Gracias jeikey por tu respuesta.

Ya había probado a cambiar ese parámetro y me da el error "Connection Closed Gracefully" así que no sé si hay que cambiar algo más. ¿Tú en la actualidad puedes enviar correos con hotmail?

Saludos
__________________
Be water my friend.
Responder Con Cita
  #8  
Antiguo 18-05-2015
jeikey jeikey is offline
Registrado
NULL
 
Registrado: may 2015
Posts: 2
Poder: 0
jeikey Va por buen camino
Cita:
Empezado por newtron Ver Mensaje
Gracias jeikey por tu respuesta.

Ya había probado a cambiar ese parámetro y me da el error "Connection Closed Gracefully" así que no sé si hay que cambiar algo más. ¿Tú en la actualidad puedes enviar correos con hotmail?

Saludos
Así es, estoy enviando correos con hotmail. Actualmente, estoy apuntando a outlook (hotmail) a través del puerto 587 (SMTP). Podrías mostrarnos tu código para ver si necesitas alguna configuración adicional.
Responder Con Cita
  #9  
Antiguo 19-05-2015
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.457
Poder: 20
newtron Va camino a la fama
Claro... el código no tiene nada de particular y creo que ha salido de ejemplos de por aquí (si mal no recuerdo de un ejemplo que adjuntó ROMAN en su día).

He extraido lo básico para no alargar mucho el tema. Los valores que no cambio se supone que coge por defecto los del componente.

Código Delphi [-]
procedure TFormEnviaCorreoSSL.btnEnviarCorreoClick(Sender: TObject);
var
  IdEnviar: TIdMessage;
  N,iPuerto: SmallInt;
  ElDestinatario:      TIdEmailAddressItem;
begin
  iPuerto:=587;  // Con el 25 hace exactamente lo mismo
  IdEnviar := TIdMessage.Create(Self);
  IdEnviar.Body.Text     := MemoTexto.Text; // Cuerpo del mensaje
  IdEnviar.From.Address  := EditCuentaRemitente.Text ; // e-mail del que envía
  IdEnviar.From.Name     := EditNombre.Text ; // Nombre del que envía
  IdEnviar.Subject       := EditAsunto.Text ; // Asunto
  // Destinatario/s
  for N := 0 to MemoDestinatarios.Lines.Count-1 do begin
    if MemoDestinatarios.Lines[N]<>'' then begin
      ElDestinatario         := IdEnviar.Recipients.Add;
      ElDestinatario.Address := MemoDestinatarios.Lines[N];
    end;
  end;
  IdSMTP1.Host       := smtp-mail.outlook.com;
  IdSMTP1.UserName   := xxxxxx;
  IdSMTP1.Password   := xxxxx;
  IdSMTP1.Port       := iPuerto;
  // TLS
  idSMTP1.IOHandler := IdSSLIOHandlerSocketOpenSSL;
  idSMTP1.UseTLS := utUseExplicitTLS;
  Try
    IdSMTP1.Connect;
    IdSMTP1.Send(idEnviar);
  except
    raise;
    ShowMessage('¡ATENCION! Problema de conexion');
    exit;
  end;
  IdSMTP1.Disconnect(true);
  ShowMessage('Correo enviado');
end;

Gracias y un saludo
__________________
Be water my friend.
Responder Con Cita
  #10  
Antiguo 18-05-2016
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.457
Poder: 20
newtron Va camino a la fama
Hola.

Después de tanto tiempo este error con hotmail no se solucionó, lo que hice fue ir migrando los correos a gmail.

El problema es que ahora me está pasando exactamente lo mismo con gmail, cuentas de correo que siempre han funcionado sin problemas ahora no funcionan.

¿Alguien está teniendo problemas con gmail? o dicho de otra forma, ¿os funciona actualmente el envío de correos electrónicos con gmail usando las Indy?

Gracias y un saludo
__________________
Be water my friend.
Responder Con Cita
  #11  
Antiguo 18-05-2016
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 newtron Ver Mensaje
¿os funciona actualmente el envío de correos electrónicos con gmail usando las Indy?
No. Al parecer Google ha puesto muchas condiciones para considerar seguro un servicio de correo. Quizá esto aclare algo, o quizá confunda más (como a mi). Sólo permitiendo "acceso a aplicaciones inseguras" desde la cuenta de gmail se puede.

LineComment Saludos
Responder Con Cita
  #12  
Antiguo 18-05-2016
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.457
Poder: 20
newtron Va camino a la fama
Cita:
Empezado por roman Ver Mensaje
No. Al parecer Google ha puesto muchas condiciones para considerar seguro un servicio de correo. Quizá esto aclare algo, o quizá confunda más (como a mi). Sólo permitiendo "acceso a aplicaciones inseguras" desde la cuenta de gmail se puede.

LineComment Saludos
Pues yo ya tenía esa opción activada y no me funciona, ¿a ti si?, en caso afirmativo ¿puedes ponerme un ejemplo sencillo a ver si estoy haciendo algo distinto?

Saludos
__________________
Be water my friend.
Responder Con Cita
  #13  
Antiguo 18-05-2016
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 newtron Ver Mensaje
¿a ti si?
Sí. El ejemplo que puse en http://clubdelphi.com/foros/showthread.php?t=40611 sigue funcionando activando las aplicaciones inseguras. De lo que alcanzo a ver en tu código noto estas diferencias:

Port: tienes el 587, yo tengo el 465
UseTLS: tú tienes Explicit y yo tengo Implicit

LineComment Saludos
Responder Con Cita
  #14  
Antiguo 19-05-2016
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Con tengo uno que envía utilizando Indy10 y Gmail con los siguientes parámetros y sigue funcionando correctamente.

Código:
[GMail]
MailServer=smtp.gmail.com
PortServer=465
FromAdress=XXXXXX@gmail.com
FromText=NombreXXX
SSLMethod=sslvTLSv1
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #15  
Antiguo 19-05-2016
elguille elguille is offline
Miembro
 
Registrado: ene 2005
Posts: 114
Poder: 20
elguille Va por buen camino
A mi el código me ha dejado de funcionar hace tres dias para clientes diferentes con cuentas diferentes ¿¿??¿
He encontrado este código en internet http://dejensever.com/2013/09/03/del...reos-por-smtp/ que me parece que de momento si funciona aunque no se que pasará día 1 de junio cuando quiten de forma definitiva sslv3.
Código Delphi [-]
function EnviarMensaje(sUsuario, sClave, sServidor, sAdjunto, sAsunto, sDestino, sMensaje: String; iPort: integer): String;
var
  SMTP: TIDSMTP;
  Mensaje: TIdMessage;
  adjunto: TIdAttachmentfile;
  IOHSOSSL: tIdSSLIOHandlerSocketOpenSSL;
begin
  IdSSLOpenSSLHeaders.Load;
  result := 'Mensaje enviado correctamente.';

  IOHSOSSL := tIdSSLIOHandlerSocketOpenSSL.Create;
  IOHSOSSL.Destination := sServidor + ':' + IntToStr(iPort);
  IOHSOSSL.host := sServidor;
  // IOHSOSSL.MaxLineAction := maException;
  IOHSOSSL.port := iPort;
  IOHSOSSL.ssloptions.method := sslvTLSv1;
  IOHSOSSL.ssloptions.VerifyMode := [];
  IOHSOSSL.ssloptions.VerifyDepth := 0;

  SMTP := TIDSMTP.Create(nil);
  SMTP.IOHandler := IOHSOSSL;
  SMTP.UserNAME := sUsuario;
  SMTP.password := sClave;
  SMTP.host := sServidor;
  SMTP.port := iPort;
  SMTP.UseTLS := utUseRequireTLS;

  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 := TIdAttachmentfile.Create(Mensaje.MessageParts, sAdjunto);
  end
  else
    adjunto := nil;

  try
    SMTP.Connect;
  except
    result := 'Error al conectar con el servidor.';
  end;

  // Si ha conectado enviamos el mensaje y desconectamos
  if SMTP.Connected then
  begin
    try
      // SMTP.SendCmd('STARTTLS', 220);
      SMTP.Send(Mensaje);
    except
      result := 'Fallo en el envio de email';
    end;

    try
      SMTP.Disconnect;
    except
      result := 'Error al desconectar del servidor.';
    end;
  end;

  // Liberamos los objetos creados
  if adjunto <> nil then
    FreeAndNil(adjunto);

  FreeAndNil(Mensaje);
  FreeAndNil(SMTP);

end;
Responder Con Cita
  #16  
Antiguo 19-05-2016
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.457
Poder: 20
newtron Va camino a la fama
Hola.

Este código si que me funciona, ahora tendré que retocarlo para incluirle varios destinatarios, copias ocultas, etc. pero no creo que haya problemas.

Gracias Guille.

Roman, Neftali, gracias por vuestras sugerencias.

Saludos
__________________
Be water my friend.
Responder Con Cita
  #17  
Antiguo 20-05-2016
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por newtron Ver Mensaje
ahora tendré que retocarlo para incluirle varios destinatarios
Puedes hacerlo así, si separas las direcciones con punto y coma.
Código Delphi [-]
  Mensaje.Recipients.EMailAddresses := sDireccionesEnvio;


Cita:
Empezado por newtron Ver Mensaje
ahora tendré que retocarlo para incluirle varios destinatarios, copias ocultas, etc. pero no creo que haya problemas.

Para eso puedes utilizar las propiedades:

Código Delphi [-]
    Mensaje.CCList
    Mensaje.BccList

Que son del mismo tipo que Recipients.

Cita:
Empezado por newtron Ver Mensaje
etc...
Poca cosa más queda...
Por ejemplo, para texto plano o HTML:

Código Delphi [-]
  if (AFormtatoPlano) then begin
     idText := TIdText.Create(Mensaje.MessageParts, TS);
     idText.ContentType := 'text/plain';
  end
  else begin
    idText := TIdText.Create(Mensaje.MessageParts, TS);
    idText.ContentType := 'text/html';
    idText.ContentTransfer := '7bit';
    Mensaje.ContentTransferEncoding := 'text/html';
  end;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #18  
Antiguo 20-05-2016
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.457
Poder: 20
newtron Va camino a la fama
Neftali. Gracias, todo correcto.

Ahora me encuentro un problema (no crítico) que es que este código que sirve para gmail no me funciona en el resto de clientes que usan otros servidores de correo por tener páginas web. He probado con todas las opciones de utNoTLSSupport, utUseExplicitTLS, utUseImplicitTLS y utUseRequireTLS y nada. No va.

¿Será el method que estamos poniendo "sslvTLSv1"?

Saludos
__________________
Be water my friend.
Responder Con Cita
  #19  
Antiguo 20-05-2016
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
En mi caso, lo que he hecho en generar un fichero de configuración según servidor.

Te adjunto una parte:

Código Delphi [-]
[Yahoo]
MailServer=smtp.correo.yahoo.es
PortServer=465

[GMail]
MailServer=smtp.gmail.com
PortServer=465
////// Valores posibles:  SSLMethod = (sslvSSLv2, sslvSSLv23, sslvSSLv3, sslvTLSv1)
SSLMethod=sslvTLSv1


[Hotmail]
MailServer=smtp-mail.outlook.com
PortServer=587
////// Valores posibles:  UseTSL = (utNoTLSSupport, utUseImplicitTLS, utUseRequireTLS, utUseExplicitTLS);
UseTSL=utUseExplicitTLS
////// Valores posibles:  SSLMethod = (sslvSSLv2, sslvSSLv23, sslvSSLv3, sslvTLSv1)
SSLMethod=sslvTLSv1

...

Los servidores que no tienen valor en alguna característica, cogen el valor por defecto.
He tenidpo que ir probando con los diferentes servidores para obtener configuraciones.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #20  
Antiguo 20-05-2016
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.457
Poder: 20
newtron Va camino a la fama
Ok.

Gracias, haré pruebas a ver qué voy viendo.

Saludos
__________________
Be water my friend.
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
Error con NMSMTP a correo Hotmail acalderonr Internet 1 24-10-2014 12:55:27
[Compendio] Delphi 7 | Indy | Gmail | Outlook.com (ex Hotmail) MAXIUM Internet 4 20-02-2014 19:23:19
Problema con Indy en delphi 2010, enviando emails edtruji Internet 1 17-08-2010 19:17:31
Problemas y dudas enviando comandos al servidor FTP con Indy Gromeer Internet 8 02-02-2008 00:27:04
El correo que mando a una direccion de hotmail no llega bien URBANO Internet 1 27-04-2005 08:53:49


La franja horaria es GMT +2. Ahora son las 18:04:49.


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