PDA

Ver la Versión Completa : Una ayudita, para este codigo


ingabraham
07-08-2007, 23:34:27
Me aparece un error:
Error ´method add´
Quien me puede ayudar a corregirlo


procedure TForm1.Button1Click(Sender: TObject);
var
Mail: Variant;
begin
Mail:= CreateOleObject('CDO.Message');
Mail.From:= 'ingeniro_abraham@hotmail.com';
Mail.Subject:= 'Saludo';
Mail.TextBody:= 'Cuerpo del Email';
Mail.To:= 'ingeniro_abraham@hotmail.com';
Mail.Configuration.Fields.Add('http://schemas.microsoft.com/cdo/configuration/sendusername', 'abraham');
Mail.Configuration.Fields.Add('http://schemas.microsoft.com/cdo/configuration/sendpassword', 'clave');
Mail.Configuration.Fields.Item('http://schemas.microsoft.com/cdo/configuration/sendusing') := 2;
Mail.Configuration.Fields.Item('http://schemas.microsoft.com/cdo/configuration/smtpserver') := 'www.hotmail.com';
Mail.Configuration.Fields.Item('http://schemas.microsoft.com/cdo/configuration/smtpserverport') := 25;
Mail.Configuration.Fields.Item('http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout') := 60;
Mail.Send;
Mail:= Unassigned;
end;

Caral
08-08-2007, 00:02:01
Hola
Hay dias en los que no se puede hacer todo, reconozco tu perseverancia abraham.
En este caso me quedo corto con mi poco conocimiento, pero si a deducir vamos, el error para mi lo esta diciendo casi todo, el metodo que usas para adherir no debe ser el correcto, yo intentaria ver que para sin las comas o en su defecto las concatenaria.
Repito esta es solo una opinion, no pretendo darte una explicacion de algo que desconozco.
Saludos

ingabraham
08-08-2007, 16:14:32
el error me aparece apartir de esta linea
.........................................................

Mail.Configuration.Fields.Add('http://schemas.microsoft.com/cdo/configuration/sendusername') :='abraham';

Mail.Configuration.Fields.Add('http://schemas.microsoft.com/cdo/configuration/sendpassword') :='clave';


cambie esto y nada.

fer21unmsm
11-08-2007, 00:57:26
Hola Abraham, al parecer la propiedad Add no existe, en el codigo de abajo reemplacé tus "adds" por "Items"


procedure TForm1.Button1Click(Sender: TObject);
var Mail: Variant; begin Mail:= CreateOleObject('CDO.Message');
Mail.From:= 'ingeniro_abraham@hotmail.com';
Mail.Subject:= 'Saludo';
Mail.TextBody:= 'Cuerpo del Email';
Mail.To:= 'ingeniro_abraham@hotmail.com';
Mail.Configuration.Fields.Item('http://schemas.microsoft.com/cdo/configuration/sendusername'):='abraham';
Mail.Configuration.Fields.Item('http://schemas.microsoft.com/cdo/configuration/sendpassword'):='clave';
Mail.Configuration.Fields.Item('http://schemas.microsoft.com/cdo/configuration/sendusing') := 2;
Mail.Configuration.Fields.Item('http://schemas.microsoft.com/cdo/configuration/smtpserver') := 'www.hotmail.com';
Mail.Configuration.Fields.Item('http://schemas.microsoft.com/cdo/configuration/smtpserverport') := 25;
Mail.Configuration.Fields.Item('http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout') := 60;
Mail.Send;
Mail:= Unassigned;
end;



saludos.:)

ingabraham
11-08-2007, 02:09:52
gracias fer21unmsm (http://www.clubdelphi.com/foros/member.php?u=7626)


Ciertamente era eso. gracias
comparto con ustedes mis detalles,
cuando este cod, este bien funcionando lo anexare a la lista de trucos, para q
otros usuarios tengan una forma facil de enviar email. en pocas lineas


El problema se soluciono pero queda otro problemita
el sgte error: THE SENDUSING, Configuracion value is invalid


procedure TForm1.Button1Click(Sender: TObject);
var
Mail: Variant;
begin
Mail:= CreateOleObject('CDO.Message');
Mail.From:= 'ingeniro_abraham@hotmail.com';
Mail.Subject:= 'Saludo';
Mail.TextBody:= 'Cuerpo del Email';
Mail.To:= 'ingeniro_abraham@hotmail.com';
Mail.Configuration.Fields.Item('http://schemas.microsoft.com/cdo/configuration/sendusername') :='abraham';
Mail.Configuration.Fields.Item('http://schemas.microsoft.com/cdo/configuration/sendpassword') :='clave';
Mail.Configuration.Fields.Item('http://schemas.microsoft.com/cdo/configuration/sendusing') := 2;
Mail.Configuration.Fields.Item('http://schemas.microsoft.com/cdo/configuration/smtpserver') := 'www.hotmail.com';
Mail.Configuration.Fields.Item('http://schemas.microsoft.com/cdo/configuration/smtpserverport') := 25;
Mail.Configuration.Fields.Item('http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout') := 60;
Mail.Send;
Mail:= Unassigned;
end;

Khronos
13-08-2007, 16:01:10
Man este truco lo publique yo pero me di cuenta tarde de que no funciona bien siempre, tienes ke poner tu smtp predeterminado y aun asi no funciona del todo bien.

Por ejemplo, en mi caso tendria ke poner el smtp: 'smpt.mundo-r.com'

Te recomiendo ke uses los componentes de indy, van perfectos.

Salu2

ingabraham
13-08-2007, 16:14:46
los tienes, como funcionan

Khronos
13-08-2007, 16:51:00
Los componentes Indy vienen en todas las versiones de Delphi a partir de Delphi 4 (si no me equivoco), si no los puedes descargar gratis.

http://www.indyproject.org/Sockets/Download/Borland.EN.aspx

Son faciles de utilizar y seguro que por el foro encuentras mil ejemplos. Luego te busco un programa que habia creado con los componentes indy y te pego algo de code.

Salu2

ingabraham
13-08-2007, 17:02:49
Amigo y compañero, ya localize los componente indy,

sera q me podrias ayudar con un ejemplo, q te haya funcionado. es q he probado con casi todo y nada me ha funcionado.

no es un favor, es una suplica. llevo mas de dos semanas en esto y no me ha funcionado nada.

Caral
13-08-2007, 18:07:06
Hola
Has revisado los demo que trae Delphi?
Revisalos, en este hay varios programas hechos con indy relacionados al tema de envio de email.
Puede que te sirvan de guia, tal vez encuentres algo de lo que buscas.
Saludos

cHackAll
13-08-2007, 18:24:12
Tambien hemos tratado en el Club el tema, una búsqueda es aconsejable.

ingabraham
14-08-2007, 16:13:48
pareciera q en esos foros se abren este tema, y no se consume con optima solucion, he probado estos codigos y siempre me aparecen errores

cHackAll
14-08-2007, 21:53:07
En definitiva a los códigos que estan por ahí hay que darles un retoque para que funcionen, sin embargo puedo asegurar que la mayoria (si no son todos), sirven!

acá (http://www.clubdelphi.com/foros/showthread.php?t=44633) ví uno que no usa Indy, pero si envia mails via SMTP como creo que necesitas. Otro (http://delphi.about.com/od/internetintranet/l/aa020304a.htm) con Indy.

Saludos

ingabraham
17-08-2007, 01:05:04
SendEMailMAPI(handle,'ingeniero_abraham@hotmail.com',true)
que viene en handle


q devuelve el?


? := SendEMailMAPI(handle,'ingeniero_abraham@hotmail.com',true)

q es el handle

ingabraham
17-08-2007, 01:22:48
tambien. el otro cod es de delphi 7, yo utilizo el 6, no me funciona, me baje el program y me pide componentes