Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Lazarus, FreePascal, Kylix, etc. (https://www.clubdelphi.com/foros/forumdisplay.php?f=14)
-   -   Envia el mail bien, pero el servidor de hotmail lo rechaza (https://www.clubdelphi.com/foros/showthread.php?t=65281)

maximo_nashir 02-12-2009 19:35:27

Envia el mail bien, pero el servidor de hotmail lo rechaza
 
Hola amigos,
hice un programa en delphi7 que envie mails y al parecer funciona, pero me devuelve el siguiente error:

Cita:

Status: Disconnected.
Status: Disconnecting.
ERROR: DY-001 Mail rejected by Windows Live Hotmail for policy reasons. We generally do not accept email from dynamic IP's as they are not typically used to deliver unauthenticated SMTP e-mail to an Internet mail server. http://www.spamhaus.org maintains lists of dynamic and residential IP addresses. If you are not an email/network admin please contact your E-mail/Internet Service Provider for help. Email/network admins, please visit http://postmaster.live.com for email delivery information and support

Status: Connected.
Status: Connecting to 65.54.188.94.
Status: Resolving hostname mx2.hotmail.com
Entonces buscando en google leí, que hotmail, gmail, yahoo y otros no permiten recibir mails de computadoras con ip dinámico; pero yo no tengo ip dinamico, mi ip es estático y estoy en una red lan de mi trabajo.,

¿QUE PUEDO HACER PARA RESOLVER ESTO?

JADE_TYLER 14-12-2009 17:43:19

Hola maximo_nashir

Lei el problema que estas teniendo y quisiera saber si en contraste una forma de mandar mail. Yo al igual que tu he estado intentando mandar un mail tambien dentro de una red privada una LAN, estoy dentro de una empresa que tiene su propio dominio y utiliza propio servido para el correo electronico es un Microsoft Exchange, como podria mandar un correo desde Delphi en este escenario?

Lo intente mandar por el servido de hotmail y no funciono.

maximo_nashir 15-12-2009 13:59:34

Si, logré resolverlo gracias a Dios
 
Cita:

Empezado por JADE_TYLER (Mensaje 348800)
Hola maximo_nashir

Lei el problema que estas teniendo y quisiera saber si en contraste una forma de mandar mail. Yo al igual que tu he estado intentando mandar un mail tambien dentro de una red privada una LAN, estoy dentro de una empresa que tiene su propio dominio y utiliza propio servido para el correo electronico es un Microsoft Exchange, como podria mandar un correo desde Delphi en este escenario?

Lo intente mandar por el servido de hotmail y no funciono.


Hola, lo primero es que tuve que utilzar delphi 7 y los componentes Indy 9.0 que trae.

*Utilize los siguientes componentes Indy:
1.- TidSMTP (al cual le puse como nombre: SMTP)
2.- TidMessage (al cual le puse como nombre:MailMessage)
3.- TidSSLIOHandlerSocket (al cual le puse como nombre:idSSLIOHandlerSocket1).

*Componentes extras que utilizé:
1.- TOpenDialog (al cual le puse como nombre:AttachmentDialog).
2.- Seis componentes TLabeledEdit (Los cuales eran: uno para el "host", otro para el "From" o "De parte de:", otro para el "To" o "Para", otro para el "CC" o "Copia a:", otro para el "Subject" o "Título del mail", y el último para que puciera la dirección del archivo que vaya a adjuntar.
3.- Dos TMemo; Uno que se llamó "StatusMemo":el cual me devolvia todos los errores que pudicen occurrir para enviar el mail; Y el otro memo le puse como nombre "Body", el cual representaba el cuerpo del mail, es decir donde hiba a escribir los detalles del mail.
4.- Dos TBitBtn. El primero se llamó: btnSendMail, en el cual puse el siguiente código:
Código Delphi [-]
  StatusMemo.Clear;

  //Seteando el SMTP
  SMTP.Host := ledHost.Text;
  SMTP.Port := 465;

  //setup mail message
  MailMessage.From.Address := ledFrom.Text;
  MailMessage.Recipients.EMailAddresses := ledTo.Text + ',' + ledCC.Text;

  MailMessage.Subject := ledSubject.Text;
  MailMessage.Body.Text := Body.Text;

  if FileExists(ledAttachment.Text) then
    TIdAttachment.Create(MailMessage.MessageParts, ledAttachment.Text);

  //Enviando el mail
  try
    try
      SMTP.Connect(1000);
      SMTP.Send(MailMessage);
    except on E:Exception do
      StatusMemo.Lines.Insert(0, 'ERROR: ' + E.Message);
    end;
  finally
    if SMTP.Connected then SMTP.Disconnect;
  end;

El Segundo botón se llamó: btnAttachment, en el cual puse el siguiente código:

Código Delphi [-]
  if AttachmentDialog.Execute then
    ledAttachment.Text := AttachmentDialog.FileName;

NOTA: Debes poner en las siguientes propiedades del componente TidSMTP, las siguientes opciones o textos. En IOHandler debes poner: IDSSLIOHandlerSocket1, en AuthenticationType, ponerle: atLogin, en Password, debes poner la clave del mail que envia, en Username debes poner el mail que envia. Las otras opciones que debe de tener ya dicho componente las trae por defecto, asi que hasta ahí está bien.

OJO: Todo esto de poner tu mail y tu clave, es porque lo que va a authenticar que no es un spam, es el hecho de que tu pongas un mail y clave validos de un servidor reconocido (Ya sea gmail, hotmail, yahoo, etc.) y entonces si te son permitidos los envios de mail a traves de tu aplicación Delphi.


Ojalá, te pueda servir de algo estos comentarios y observaciones.

JADE_TYLER 15-12-2009 16:54:13

Hola de nuevo maximo_nashir

Muchas gracias por tu atención.
Voy a checar lo que me has mostrado y te aviso que sucedio.
Solo por confirmar este código lo usaste dentro de un red LAN?

GRACIAS OTRA VEZ.

maximo_nashir 17-12-2009 14:48:08

Así es, lo hice en una red lan

crimachama 10-05-2011 19:57:59

Envio de mail con indy 9
 
Tengo el mismo problema no puedo envíar correos hotmail con indy 9, sera que me puedas ayudar con este problema

crimachama 10-05-2011 19:59:28

Envíon de mail
 
Cita:

Empezado por maximo_nashir (Mensaje 349047)
Así es, lo hice en una red lan

Como configurar el indy 9 para el envío de mail con cuentas hotmail ???????

crimachama 10-05-2011 20:06:22

Envío de mail con indy 9
 
Cita:

Empezado por maximo_nashir (Mensaje 348849)
Hola, lo primero es que tuve que utilzar delphi 7 y los componentes Indy 9.0 que trae.

*Utilize los siguientes componentes Indy:
1.- TidSMTP (al cual le puse como nombre: SMTP)
2.- TidMessage (al cual le puse como nombre:MailMessage)
3.- TidSSLIOHandlerSocket (al cual le puse como nombre:idSSLIOHandlerSocket1).

*Componentes extras que utilizé:
1.- TOpenDialog (al cual le puse como nombre:AttachmentDialog).
2.- Seis componentes TLabeledEdit (Los cuales eran: uno para el "host", otro para el "From" o "De parte de:", otro para el "To" o "Para", otro para el "CC" o "Copia a:", otro para el "Subject" o "Título del mail", y el último para que puciera la dirección del archivo que vaya a adjuntar.
3.- Dos TMemo; Uno que se llamó "StatusMemo":el cual me devolvia todos los errores que pudicen occurrir para enviar el mail; Y el otro memo le puse como nombre "Body", el cual representaba el cuerpo del mail, es decir donde hiba a escribir los detalles del mail.
4.- Dos TBitBtn. El primero se llamó: btnSendMail, en el cual puse el siguiente código:

Código Delphi [-] StatusMemo.Clear;

//Seteando el SMTP
SMTP.Host := ledHost.Text;
SMTP.Port := 465;

//setup mail message
MailMessage.From.Address := ledFrom.Text;
MailMessage.Recipients.EMailAddresses := ledTo.Text + ',' + ledCC.Text;

MailMessage.Subject := ledSubject.Text;
MailMessage.Body.Text := Body.Text;

if FileExists(ledAttachment.Text) then
TIdAttachment.Create(MailMessage.MessageParts, ledAttachment.Text);

//Enviando el mail
try
try
SMTP.Connect(1000);
SMTP.Send(MailMessage);
except on E:Exception do
StatusMemo.Lines.Insert(0, 'ERROR: ' + E.Message);
end;
finally
if SMTP.Connected then SMTP.Disconnect;
end;





El Segundo botón se llamó: btnAttachment, en el cual puse el siguiente código:


Código Delphi [-] if AttachmentDialog.Execute then
ledAttachment.Text := AttachmentDialog.FileName;





NOTA: Debes poner en las siguientes propiedades del componente TidSMTP, las siguientes opciones o textos. En IOHandler debes poner: IDSSLIOHandlerSocket1, en AuthenticationType, ponerle: atLogin, en Password, debes poner la clave del mail que envia, en Username debes poner el mail que envia. Las otras opciones que debe de tener ya dicho componente las trae por defecto, asi que hasta ahí está bien.

OJO: Todo esto de poner tu mail y tu clave, es porque lo que va a authenticar que no es un spam, es el hecho de que tu pongas un mail y clave validos de un servidor reconocido (Ya sea gmail, hotmail, yahoo, etc.) y entonces si te son permitidos los envios de mail a traves de tu aplicación Delphi.


Ojalá, te pueda servir de algo estos comentarios y observaciones.




Como resolviste el problema de envio de mail con indy 9?????

Casimiro Notevi 10-05-2011 22:13:38

Si lees el mensaje, dice: "Mail rejected by Windows Live Hotmail for policy reasons. We generally do not accept email from dynamic IP's as they are not typically used to deliver unauthenticated SMTP e-mail to an Internet mail server", verás que tendrás que probar de enviarlo desde un ISP o alguna IP fija, o algo así. Por probar.
Pero no es un error de envío, ni delphi, ni email, ni nada de eso, el problema es que ellos no aceptan esos emails.

hcashmx 19-09-2011 07:56:58

envío de correo a hotmail con Indy
 
hola maximo_nashir, tengo el mismo problema que tuviste hace algun tiempo, con cualquier servidor puedo enviar correos, pero con hotmail, no lo logro, como le hiciste para arreglarlo.
Saludos


La franja horaria es GMT +2. Ahora son las 06:50:23.

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