Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-11-2009
JADE_TYLER JADE_TYLER is offline
Miembro
 
Registrado: nov 2009
Posts: 10
Poder: 0
JADE_TYLER Va por buen camino
Red face Crear proyecto paso a paso que mande mails

Hola a todos.
Estoy ahora intentando hacer con delphi una aplicacion que mande correo electronico a una direccion de outlook con archivos adjuntos y ya probe de varias formas, con componentes indy, funcion que manda mail. Con ejemplos, sin exito.

Pero creo que debe ser la version con la que trabajo es Delphi 6, entonces quiero que me guien en hacer el programa para mandar mail desde cero o si ya existe un tema asi, pasarme el link.

Bueno muchas gracias.

Última edición por JADE_TYLER fecha: 21-11-2009 a las 05:14:47. Razón: falto informacion
Responder Con Cita
  #2  
Antiguo 22-11-2009
Avatar de aeff
aeff aeff is offline
Miembro
 
Registrado: oct 2006
Ubicación: Cuba, Guantánamo
Posts: 348
Poder: 18
aeff Va camino a la fama
Saludos, bueno mira, yo uso Delphi 5, en esta versión existe en la paleta "FastNet" el componente "TNMSMTP".

Este componente es muy fácil de manipular, solo tienes que jugar con sus propiedades.

Cita:
Host -> Direccion del servidor, ej: mail.clubdephi.com
UserID -> Nombre de cuenta del usuario, ej: aeff
dentro de la propiedad PostMessages te encontraras con las especificaciones del propio correo:

Cita:
Attachments -> Lista de archivos adjuntos, ej: C:\Windows\System32\Calc.exe ...
Body -> Texto del correo
Date -> Fecha del correo
FromAddress -> Dirección de correo del emisor, en este caso tu ¿no? , ej: jade_tyler@clubdelphi.com
FromName -> Nombre del emisor, ej: Jade Tyler
LocalProgram -> Programa local, ej: "Delphi's Outlook"
ReplyTo -> Responder a: ej: jade_tyler@clubdelphi.com
Subject -> Asunto del correo
ToAddress -> Lista de direcciones destinatarios
ToBlindCarbonCopy y ToCarbonCopy -> Copias
bueno anteriormente te expliqué las propiedades, una vez especificadas debes conectar el "componente" con el servidor, para eso puedes usar:

Código Delphi [-]
NMSMTP1.Connect;

una vez conectado, para enviar el mensaje especificado en las propiedades:

Código Delphi [-]
NMSMTP1.NMSMTP1.SendMail;

Sería bueno que estudiaras las funcionalidades/utilización de los eventos de dicho componente.

Espero haberte ayudado.
Saludos, aeff!
Responder Con Cita
  #3  
Antiguo 22-11-2009
Avatar de aeff
aeff aeff is offline
Miembro
 
Registrado: oct 2006
Ubicación: Cuba, Guantánamo
Posts: 348
Poder: 18
aeff Va camino a la fama
si deseas recibir correos, pues dale un vistazo al componente "TNMPOP3" de la misma paleta.

saludos! aeff!
Responder Con Cita
  #4  
Antiguo 22-11-2009
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 JADE_TYLER Ver Mensaje
que mande correo electronico a una direccion de outlook
¿Qué entiendes por una dirección de Outlook? Outlook no es un servidor de correo.

// Saludos
Responder Con Cita
  #5  
Antiguo 22-11-2009
JADE_TYLER JADE_TYLER is offline
Miembro
 
Registrado: nov 2009
Posts: 10
Poder: 0
JADE_TYLER Va por buen camino
Ahora que me haces esa pregunta, veo mejor el panorama sobre lo que quiero hacer me estaba imaginando que Outlook era los mismo que por ponerlo de ejemplo hotmail y corrigeme si es necesario lo que ahora entiendo es que solo es una aplicacion para administrar correo electronico.

El trabajo que tengo encomendado es hacer que con codigo delphi se mande un mail por ejemplo a xxxxxx@imss.gob.mx y en la institucion manejan su correo con Outlook.

Gracias por leerme.
Responder Con Cita
  #6  
Antiguo 22-11-2009
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Estimado JADE_TYLER :

No sé si es lo que andas buscando pero a lo mejor te puede servir.
Debes colocar en tu Form un Edit para ingresar la dirección de correo y en el evento OnClick o OnDBlClick añades el siguiente código:

Código Delphi [-]
ShellExecute(GetDesktopWindow(), nil,
pChar('mailto:' + TLabel(Sender).Caption+'?subject=Tu Mensaje'), nil, nil, SW_SHOWNORMAL);

Salu2
Responder Con Cita
  #7  
Antiguo 23-11-2009
JADE_TYLER JADE_TYLER is offline
Miembro
 
Registrado: nov 2009
Posts: 10
Poder: 0
JADE_TYLER Va por buen camino
Hola gracias por tu atencion

Ya tengo el proyecto con la información que me diste pero al compilarlo me aparece lo siguiente

[Fatal Error] Could not create output file 'C:\Program Files\Borland\Delphi6\Projects\Project2.exe'

asi quedo el código:

procedure TForm1.tbEnviarClick(Sender: TObject);
begin
smtp.Host:= 'smtp.live.com';
smtp.UserID:= 'paty_mnmr';

smtp.PostMessage.Attachments.Add('Adjunto := C:\Users\Paty_Tyler\Documents\Clave.txt');
smtp.PostMessage.Body.Add('Mensaje enviado exitosamente');
smtp.PostMessage.Date:= '11/22/09';
smtp.PostMessage.FromAddress:= 'paty_mnmr@hotmail.com';
smtp.PostMessage.FromName:= 'Paty';
smtp.PostMessage.ReplyTo:= 'paty_mnmr@hotmail.com';
smtp.PostMessage.Subject:= 'Hi';
smtp.PostMessage.ToAddress.Add('de_marian_@hotmail.com');

smtp.Connect;
smtp.SendMail;

end;

Que será? o falta algo en la sección de Uses?

GRACIAS
Responder Con Cita
  #8  
Antiguo 23-11-2009
JADE_TYLER JADE_TYLER is offline
Miembro
 
Registrado: nov 2009
Posts: 10
Poder: 0
JADE_TYLER Va por buen camino
Hola de nuevo.

De antemano gracias por la atención.

Intente mandar el mail tambien con el siguiente codigo:

procedure TEnviarCorreo.TbEnviarClick(Sender: TObject);
var
Host, ElQueManda, ElQueRecibe, Asunto: string;
begin
host:= 'smtp.live.com';

smtp.Host:= host;
smtp.Port:= 587;

ElQueManda:= 'paty@hotmail.com';
ElQueRecibe:= 'pat@live.com.mx';
Asunto:= 'Hola';

idMensaje.From.Address:= ElQueManda;
idMensaje.ReceiptRecipient.Address:= ElQueRecibe;

idMensaje.Subject:= Asunto;
idMensaje.Body:= TmCuerpo.Lines;

smtp.Connect;
smtp.Send(idMensaje);

end;

procedure TEnviarCorreo.SMTPConnected(Sender: TObject);
begin
if smtp.Connected = true then
showmessage('Conexión exitosa');

end;

end.


Y si me conecta con el host de hotmail utilizando el componente TidSMTP de Indy Clients, pero me aparece el siguente error y marca en el codigo esta parte "smtp.Send(idMensaje);"

"raised exception class EIdProtocolReplyError with message '530 5.7.0 Must issue a STARTTLS command first'."

Como resolver esto?
Responder Con Cita
  #9  
Antiguo 25-11-2009
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
Hola,

Para enviar correos con Indy, usando Hotmail, es necesario usar el protocolo SSL. Con Indy 10 puedes hacerlo pero necesitas además unas bibliotecas (open source) que descargas de aquí.

Te adjunto en ejemplo que hice hace un tiempo pero que se perdió junto con los últimos seis meses del Club .

El ejemplo incluye ya las bibliotecas SSL y el ejecutable, sólo para la versión 7, si tienes otra versión, sólo tienes que recompilar desde las fuentes.

A mi me ha funcionado, pero algunas personas han comentado que les falla. Es cuestión de que le eches un ojo.

// Saludos
Archivos Adjuntos
Tipo de Archivo: zip hmSend.zip (783,3 KB, 175 visitas)
Responder Con Cita
  #10  
Antiguo 02-12-2009
JADE_TYLER JADE_TYLER is offline
Miembro
 
Registrado: nov 2009
Posts: 10
Poder: 0
JADE_TYLER Va por buen camino
Hola Roman, muchas gracias por tu ayuda
Sobre los datos adjuntos del proyecto para enviar correo electronico
se descarga y solo hay un archivo extraño no veo nada del proyecto
Delphi, si lo puedes cargar de nuevo lo agradecere infinitamente.

Hasta pronto.
Responder Con Cita
  #11  
Antiguo 23-02-2010
ingel ingel is offline
Miembro
 
Registrado: jun 2003
Posts: 239
Poder: 21
ingel Va por buen camino
pregunta ...

Hola Roman .. disculpa la molestia .. quisiera saber si podria hacer esto mismo que indicas , pero con Delphi 5 .. y en tal caso .. que necesitaria ?
Necesitaria mandar un email desde una cuenta de hotmail a una de yahoo...
o desde yahoo a la misma de yahoo ..lo que quiero es que el sistema cuando
de una excepcion me envie un correo a mi cuenta de yahoo ...
(NO dispongo de un servidor de emails..y ademas necesito generalizarlo )
Sds ..Gracias
PD. no se si es correcto que pregunte esto en el post , pero como es esto mismo lo que necesito ... Disculpas si no...
Responder Con Cita
  #12  
Antiguo 23-02-2010
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
No tengo Delphi 5 a la mano pero los componentes Indy sirven también para esa versión; sólo tienes que instalar los paquetes que correspondan.

// Saludos
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
Tutorial Paso a Paso Exportación de datos de TQuery a Excel lKinGl Servers 0 06-11-2008 00:10:07
Conectar aplicacion Delphi con BBDD MySQL paso por paso cslbcn Conexión con bases de datos 5 11-09-2008 02:44:14
compilar paso a paso (delphi 2007) totote Varios 7 02-01-2008 19:15:32
ayuda paso a paso Shared Connection eangeles Providers 0 09-11-2006 02:06:04
como paso un formulario de un proyecto a otro. maravert Varios 2 09-07-2006 04:00:46


La franja horaria es GMT +2. Ahora son las 13:26:06.


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