Ver Mensaje Individual
  #3  
Antiguo 15-12-2009
Avatar de maximo_nashir
maximo_nashir maximo_nashir is offline
Miembro
 
Registrado: ene 2004
Ubicación: República dominicana
Posts: 55
Reputación: 23
maximo_nashir Va por buen camino
Si, logré resolverlo gracias a Dios

Cita:
Empezado por JADE_TYLER Ver Mensaje
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.
__________________
:::
:::
:::
Costoso es el saber que compras con la experiencia y más costoso el que te falta comprar
:::
:::
:::
Responder Con Cita