![]() |
Email con los componentes Indy
¿Alguien tiene algun codigo para enviar emails con los componentes indy?
Por que los componentes de fast net no los trae delphi 7 (si los trae pero no funcionan:( ) Muchas Gracias. P.D.: Por si acaso lo sepa alguien yo lo pregunto... ¿Alguien sabe el puerto (25 creo) y la direccion de hotmail para enviar un email al propio hotmail? o ¿Alguien sabe de algun servidor que lo pueda hacer?. |
Cita:
// Saludos |
Lo volvi a preguntar por.....
Lo volvi a preguntar por que me daba un monton de errores
(creo que el fallo esta en las uses pero intento buscar con el "Find in Files..." del menú "Search" y me salen una burrada.... pero por si acaso, las meti todas; (manera bestia) y me sigue saliendo los mismos errores...). P.D.:Uso delphi 7, ¿sera por eso?. Os dejo los mensajes de error para que los veais: 1º el codigo... uses IdSmtp, IdMessage, procedure TForm1.Button1Click(Sender: TObject); begin with idMessage do begin // Cuerpo del mensaje. Body.Clear; Body.Add('Aqui añades el cuerpo del mensaje'); // Cuenta Origen. From.Text := EMAILORIGEN; // Cuenta Destino. Recipients.EMailAddresses := EMAILDESTINO; // Asunto del email. Subject := ASUNTO; // Prioridad del mensaje, ALTA. Priority := TidMessagePriority(mpHighest); // Coloco el archivo adjunto el cual enviar. TidAttachment.Create(idMensage.MessageParts,ARCHIVOADJUNTO); end; with idSMPT do begin // Configuro autentificación. AuthenticationType := atLogin; Username := USERNAME; // Nombre del usuario Password := PASS; // la password // Configuro el servidor SMTP. Host := HOST; Port := PUERTO; try Connect; try // Envio el mensaje. Send(idMenssage); finally Disconnect; end; Msg('Enviado Correctamente'); except // Capturo algunas excepciones que pueden ocurrir ON E: EIdProtocolReplyError do begin Msg('No se ha podido enviar el email.' + #13 + 'Incorrecto el email o el usuario o la password.'); end; on E: EFOpenError do begin Msg('No se ha podido enviar el email.' + #13 + 'Fichero Adjunto desconocido o erróneo.'); end; on E: EIdSocketError do begin Msg('No se ha podido enviar el email.'+ #13 + 'Host desconocido o incorrecto.'); end else begin Msg('Fallo en el envio de email'); end; end; if connected then Disconnect; end end. 2º Los errores: [Error] Unit1.pas(30): '.' expected but 'DO' found [Error] Unit1.pas(32): Undeclared identifier: 'Body' [Error] Unit1.pas(33): Missing operator or semicolon [Error] Unit1.pas(35): Missing operator or semicolon [Error] Unit1.pas(37): Undeclared identifier: 'Recipients' [Error] Unit1.pas(39): Undeclared identifier: 'Subject' [Error] Unit1.pas(41): Undeclared identifier: 'Priority' [Error] Unit1.pas(43): Undeclared identifier: 'idMensage' [Error] Unit1.pas(43): 'END' expected but ',' found [Error] Unit1.pas(45): Declaration expected but 'WITH' found [Error] Unit1.pas(47): Undeclared identifier: 'AuthenticationType' [Error] Unit1.pas(48): Undeclared identifier: 'Username' [Error] Unit1.pas(49): Undeclared identifier: 'Password' [Error] Unit1.pas(52): Undeclared identifier: 'Port' [Error] Unit1.pas(55): Undeclared identifier: 'Connect' [Error] Unit1.pas(58): Undeclared identifier: 'Send' [Error] Unit1.pas(60): Undeclared identifier: 'Disconnect' [Error] Unit1.pas(62): Invalid typecast [Error] Unit1.pas(65): Undeclared identifier: 'EIdProtocolReplyError' [Error] Unit1.pas(67): Invalid typecast [Error] Unit1.pas(71): Invalid typecast [Error] Unit1.pas(73): Undeclared identifier: 'EIdSocketError' [Error] Unit1.pas(75): Invalid typecast [Error] Unit1.pas(78): Invalid typecast [Error] Unit1.pas(81): Undeclared identifier: 'connected' :) Muchas gracias a todos los que habeis desperdiciado un poco de tiempo en mi... :) |
Aqui te pongo un ejemplo de una función que tengo para enviar correos con componentes INDY
En este caso las variables globales que utilizan la función son lo siguiente: G_HostMail: dirección del servidor SMTP, como el que viene en el outlook G_UserMail: Usuario de conexión del correo G_PasswordMail: Password del usuario de correo G_ReplyMail: Dirección de respuesta del correo Function TDM.EnviarCorreo(Para:String;Asunto:String;Contenido:TStrings):boolean; begin try //Comprobamos los datos para enviar el correo if Para='' then Error('No se ha introducido un destinatario para el correo'); if G_HostMail='' then Error('Debe introducir un Host de correo en la configuración'); if G_UserMail='' then Error('Debe introducir un usuario de correo en la configuración'); //Configuramos el correo Correo.Clear; Correo.Body.AddStrings(Contenido); Correo.Recipients.EMailAddresses:=Para; Correo.Subject:=Asunto; Correo.From.Text:=G_ReplyMail; SMTP.Host:= G_HostMail; SMTP.UserId:= G_UserMail; SMTP.Password:= G_PasswordMail; //Enviamos el correo SMTP.Connect; SMTP.Send(Correo); SMTP.Disconnect; result:=true; except result:=false; end; end; Aprobecho el tema para hacer dos preguntillas (no se si ha salido ya en un post anterior, si es así perdonadme pero ahora no he podido mirarlo, decidmelo y lo buscaré a ver) ¿Como puedo enviar un anexo con el componente? ¿Compo puedo enviar el correo como HTML? |
Cita:
|
La franja horaria es GMT +2. Ahora son las 02:53:18. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi