PDA

Ver la Versión Completa : Email con delphi??


Kamikaze
12-11-2004, 00:53:49
Eh estado buscando en muchos lugares como puedo enviar un email por delphi sin abrir ningun correo electronico preterminado (outlook) o pag de internet secundaria (lo que quiero es que conectara con un servidor de internet para enviarse); pero todos los codigos que consigo siempre me dan error y no me funcionan.... me preguntaria si alguien tiene ese codigo (comprovado que funciona) y seria tan amable de pasarmelo.... (:( estoy quemado de buscar y siempre encontrar lo mismo:( ).
Y si me lo pudiera "explicar" (por encima) mejor.....

Muchas gracias!!!

_-Little_programmer-_

P.D.:Lo que pretendo hacer es un programa que tu pones dos renglones de caracteres y el programa guarde esa informacion en el disco duro y luego lo envie por internet....

Neftali [Germán.Estévez]
12-11-2004, 09:52:06
En alguna ocasión lo he hecho utilizando el componente TNMSMTP; Un código de ejemplo podría ser éste:


var
TSFiles:TStringList;
begin
// Elementos fijos del componente
NMSMTP.Host := EditHost.Text;
_debugLog(EditHost.Text, False);
NMSMTP.PostMessage.Body.AddStrings(MemoCuerpo.Lines);
_debugLog(MemoCuerpo.Lines.Text, False);
NMSMTP.PostMessage.FromAddress := EditFromAdress.Text;
_debugLog(EditFromAdress.Text, False);
NMSMTP.PostMessage.FromName := EditFromNAme.Text;
_debugLog(EditFromNAme.Text, False);
NMSMTP.PostMessage.ReplyTo := EditReplyTo.Text;
_debugLog(EditReplyTo.Text, False);
NMSMTP.PostMessage.Subject := EditSubject.Text;
_debugLog(EditSubject.Text, False);

// Optativos
NMSMTP.PostMessage.ToAddress.Add(EditDireccion.Text);
// Añadir los ficheros
NMSMTP.PostMessage.Attachments.AddStrings(TSFiles);
// Enviar
NMSMTP.Connect;
if (NMSMTP.Connected) then begin
try
NMSMTP.SendMail;
except
on E:Exception do begin
// Tratamiento de excepcion...
end;
end;
end
else begin
//-- MessageDlg('No conectado', mtError, [mbOK], 0)
end;
NMSMTP.Disconnect;

LordBits
12-11-2004, 14:50:37
este es utilizando las componente TWinshoeSMTP.

procedure SendMail;
var
sToo : TStringList;
sText : TStringList;
i : integer;
begin

sToo := TStringList.Create;
sText := TStringList.Create;
try
sToo.Add('nelsont6@hotmail.com')
SMTP.Host := '10.10.10.11';
sToo.Append('j.betancur@excelec.com');
msg.Too := sToo;
msg.Subject := 'JIBM';
sText.Append('este es desde mi programa sin thread por el momento');
msg.Text := sText;
msg.From := 'j.betancur@excelec.com';
msg.Attachments.AddAttachment('c:\cursocpp.pdf');
SMTP.Send(msg);
except

end;
end;

roman
12-11-2004, 16:26:43
utilizando las componente TWinshoeSMTP.


Si no recuerdo mal las componentes WinShoes son las ahora conocidas como Indy. En los foros hay varios ejemplos de envio de correo con Indy, por ejemplo, éste:

http://www.clubdelphi.com/foros/showthread.php?t=8343&highlight=idsmtp

// Saludos

Kamikaze
12-11-2004, 16:30:36
En alguna ocasión lo he hecho utilizando el componente TNMSMTP; Un código de ejemplo podría ser éste:

Muchas gracias por tu codigo Neftali pero que uses usas? por que ami no me reconoce el NMSMTP....

me pone: [Error] Unit1.pas(37): Undeclared identifier: 'NMSMTP' en la linea
NMSMTP.Host := EditHost.Text;.......

Bueno, de todas formas gracias por todo.

_-Little_programmer-_

Neftali [Germán.Estévez]
12-11-2004, 17:43:14
...pero que uses usas? por que ami no me reconoce el NMSMTP...
Yo utilizao Delphi 6.
Es un componente de la paleta FastNet, que corresponde al BPL dclnmf60.bpl que suele estar enel directorio BIN de Delphi;
Una vez que colocas ese componente en el uses debería aparecer la unit NMsmtp que es donde se encuentra.

Busca en la ayuda de Delphi por el componente: TNMSMTP

Kamikaze
12-11-2004, 19:15:16
Yo utilizao Delphi 6.
Es un componente de la paleta FastNet, que corresponde al BPL dclnmf60.bpl que suele estar enel directorio BIN de Delphi;
Una vez que colocas ese componente en el uses debería aparecer la unit NMsmtp que es donde se encuentra.

Busca en la ayuda de Delphi por el componente: TNMSMTP
O soy yo o en el delphi 7 no esta ni la paleta fastnet ni el archivo dclnmf60.bpl y ni siquiera aparece nada en help con la palabra TNMSMTP

¿Alguien me puede aclararme que es lo que tengo? si delphi o un fake malisimo del delphi.

roman
12-11-2004, 19:19:12
O soy yo o en el delphi 7 no esta ni la paleta fastnet ni el archivo dclnmf60.bpl


No eres tú. En Delphi 7 las componentes FastNet no se instalan por default. Mira este hilo donde te aclaran qué pasa:

http://www.clubdelphi.com/foros/showthread.php?t=3212&highlight=FastNet

// Saludos

Kamikaze
12-11-2004, 21:15:26
Muchas gracias "Roman" pero despues que lo instalo (dclisp70.bpl por que no tengo el dclnmf60.bpl) no me aparece la paleta fastnet y me sigue dando error en lo mismo y en la misma linea.... Buf....... y despues nos dicen, a los programadores, que no sufren ningun tipo de estres ni na............. :rolleyes:

roman
12-11-2004, 21:32:47
Creo que no voy a ser de mucha ayuda.

Acabo de instalarlos y las componentes aparecen en la paleta Internet aunque con los nombres ligeramente cambiados pero al insertarlos en el formulario aparece el mensaje que mencionan en el otro hilo.

Hice entonces una búsqueda en los foros de Borland acerca de FastNet y Delphi 7 tratando de encontrar como solucionar esto y ¿sabes que? Todos los hilos que alcancé a revisar parecen estar de acuerdo en esto: no uses estas componentes, Borland las ha descontinuado y parece ser debido a los defectos y poco soporte por parte de Fastnet. Todos recomiendan el uso de Indy.

// Sorry

Kamikaze
12-11-2004, 22:03:03
No te preoupes "Roman" que un fallo lo tiene cualquiera....
Bueno viendo que Fastnet es una porqueria ¿como se haria con los componentes indi?

_-Little_programmer-_

P.D.:Muchas gracias por todo a todos!!!!!


__________________________________________________________________

Es sabio decir: "me equivoque", si luego sabes aprender de ese error.