Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   ayuda con email (https://www.clubdelphi.com/foros/showthread.php?t=26776)

raulmm26 03-11-2005 09:31:17

ayuda con email
 
buenas, tengo una aplicacion que manda emails,pero lo que pido si me podeis ponerme un ejemplo con bcc es que lo necesito para enviar mails a diversos clientes a la vez

dec 03-11-2005 09:36:11

Hola,

Podrías (ojo que no pregunto, afirmo) ser más explícito con la pregunta: qué versión de Delphi estás utilizando; de qué componentes te vales para llevar a cabo el asunto; si probaste algo, pero, no te dio los resultados esperados; algo de código que pudiera acernos una idea, etc., etc., etc. :cool:

Echa un vistazo, por favor, a la guía de estilo de los Foros, en donde seguro encontrarás información útil a la hora de plantear preguntas de forma que se puedan obtener el mejor y más acertado número de posibles respuestas. Por mi parte queda dicho, sé un poco más descriptivo ahora. ;)

raulmm26 03-11-2005 09:42:14

utilizo componenes indy con d7,y el codigo que utilizo es este
[delphi]
uses IdSmtp, IdMessage, procedure TForm1.Button1Click(Sender: TObject);beginwith idMessage do begin // <-- [Error] Unit1.pas(30): '.' expected but 'DO' found. // Estás usando el nombre de la unidad como nombre del componente u objeto. // 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;endend.[\delphi]
lo que quiero es añadirle el BCC gracias

dec 03-11-2005 09:48:53

Hola,

raulmm26, te recuerdo que, como usuario registrado en estos Foros que eres, puedes editar tus mensajes: házlo con el anterior a fin de que pueda entenderse... yo lo he tratado de hacer, pero, sin duda a ti te será más sencillo al disponer del código fuente "original", el cual no puede estar como el que has copiado arriba, pues que no compilaría. ;)

raulmm26 03-11-2005 09:51:57

perdon pero puse mal el tag final

Código Delphi [-]
uses IdSmtp, IdMessage;
 
 procedure TForm1.Button1Click(Sender: TObject);
 begin
   with idMessage do begin
   // <-- [Error] Unit1.pas(30): '.' expected but 'DO' found.
   // Estás usando el nombre de la unidad como nombre del componente u objeto.
   // 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.
lo que quiero añadir es para usar el BCC

dec 03-11-2005 10:28:33

Hola,

Mejor no hubieras editado el mensaje, porque menuda la has liado... ;)

Respecto de lo que te ocupa, he probado con algo así y parece funcionar bien:

Código Delphi [-]
 uses
   // Unidades básicamente precisas.
   IdEMailAddress, IdSMTP, idMessage;
 
 procedure TForm1.Button1Click(Sender: TObject);
 var
   servidorSmtp: TIdSMTP;
   mensajeCorreo: TIdMessage;
   nuevoOculto: TIdEMailAddressItem;
 begin
 
   // Creamos los objetos necesarios
   servidorSmtp := TIdSMTP.Create(Self);
   mensajeCorreo := TIdMessage.Create(Self);
 
   // Preparamos el correo básicamente
   with mensajeCorreo do
   begin
     Subject := 'Asunto del correo';
     Body.Text := 'Cuerpo del correo';
     From.Address := 'remitente@correo.es';
     Recipients.EMailAddresses := 'destinatario@correo.es';
   end;
 
   // Añadimos una dirección a la BccList
   nuevoOculto := mensajeCorreo.BccList.Add;
   nuevoOculto.Address := 'oculto1@correo.es';
 
   // Añadimos otra dirección a la BccList
   nuevoOculto := mensajeCorreo.BccList.Add;
   nuevoOculto.Address := 'oculto2@correo.es';
 
   try
     // Preparamos y conectamos con el Smtp.
     servidorSmtp.Host := 'smtp.servidor.es';
     servidorSmtp.Connect;
     try
       // Intentamos enviar el correo.
       servidorSmtp.Send(mensajeCorreo);
       // Tuvimos suerte, se envió ;)
       ShowMessage('¡Correo enviado!');
 
     except
       on E: Exception do // Algo salió mal...
         ShowMessage('Falló el envío: ' + E.Message);
     end;
 
   finally
     // Finalmente...
     servidorSmtp.Disconnect;
     servidorSmtp.Free;
     mensajeCorreo.Free;
   end;
 end;

raulmm26 03-11-2005 10:55:48

abri el otro porque no me dejaba responder,y muchas gracias por tu ayuda

User_Baja_2 31-01-2006 15:03:35

es obligatorio poner algo en el "PARA" para enviar los correos ocultos? porque he probado esta idea y me sale un error al intentar enviar el correo, diciendome que lo siente pero no está ese dominio en la lista.. o algo asi... ¿?

¿Si es asi hay alguna forma de evitarlo?

Muchas gracias

Alejandrina 24-09-2008 22:06:08

Hola, a todos...Intento seguir este ejemplo para probar y me muestra el siguiente error:
[Fatal Error] UFrmFinalizacionMontaje.pas(110): File not found: 'IdEMailAddress.dcu'
Este...que quiere decir esto?, que me falta? disculpen la falta de conocimiento ;)

dec 24-09-2008 22:21:36

Hola,

Cita:

Empezado por nuppy
es obligatorio poner algo en el "PARA" para enviar los correos ocultos? porque he probado esta idea y me sale un error al intentar enviar el correo, diciendome que lo siente pero no está ese dominio en la lista.. o algo asi... ¿?

Hasta donde yo llego sí es necesario incluir una dirección en "PARA" ("To"), puesto los correos ocultos son copias, es decir, el destinatario recibe una especie de original, y el resto de destinatarios (ocultos) reciben una copia (BCC, Blind Carbon Copy).

Cita:

Empezado por Alejandrina
Hola, a todos...Intento seguir este ejemplo para probar y me muestra el siguiente error:
[Fatal Error] UFrmFinalizacionMontaje.pas(110): File not found: 'IdEMailAddress.dcu'
Este...que quiere decir esto?, que me falta? disculpen la falta de conocimiento

Has de asegurarte que la unidad "IdEMailAddress" se encuentra en la "Library Path" de Delphi. Es menester situar esa unidad en el sistema de archivos, debe estar en el directorio de los componentes "Indy", esa unidad pertenece a dichos componentes (ignoro a qué versión) y añadir el directorio que contenga dicha unidad a la "Library Path" de Delphi.


La franja horaria es GMT +2. Ahora son las 18:26:05.

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