Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-11-2007
Alejandro73 Alejandro73 is offline
Miembro
 
Registrado: abr 2006
Ubicación: Valparaiso - CHILE
Posts: 132
Poder: 19
Alejandro73 Va por buen camino
Question Como Envio Correo con Copias?

Hola Amigos del Club

Estoy buscando como enviar un correo con varios destinatarios en CC, no he encontrada nada en los foros, si alguien me puede ayudar se lo agradecere

Aqui apunto el codigo

procedure TForm002.BitBtn5Click(Sender: TObject);
var
smtp: TIdSMTP;
mail: TIdMessage;
begin
{Buscar Correo del Destinatario}
smtp := TIdSMTP.Create(Self);
mail := TIdMessage.Create(Self);
with smtp do
begin
Port :=25;
Host :='nombrehost';
Username:='';
Password:='';
end;
with mail do
begin
Recipients.Add;
{Adiciona Destinatario al Correo}
Recipients[0].Name :=EditDestinatario.Text; {Nombre del Destinatario}
Recipients[0].Address:=EditDestino.Text; {Correo del Destinatario PARA}
From.Name :='xxxxx'; {Nombre del Remitente}
From.Address :='usuario@dominio';{Correo del Remitente}
Subject :=EditAsunto.Text {Asunto}
Body.Text :=Memo1.Lines.Text;
{Adiciona Destinatario CC AL Correo}
if EditConCopia.Text<>''
then begin CCList.Add.Address:=EditConCopia.Text;
{destino01@dominio;destino02@dominio;destinon@dominio}
end;
end;
smtp.Connect;
Screen.Cursor:=CrDefault;
try
try
smtp.Send(mail);
ShowMessage('Mensaje Enviado Satisfactoriamente');
except
on E: Exception do
ShowMessage('Ocurrio un Error al Intentar enviar Automaticamente el Mensaje');
end;
finally
if smtp.Connected then
smtp.Disconnect;
end;
mail.Free;
smtp.Free;
end;

El Problema se me presenta cuan coloco + de una direccion en EditConCopia.text, lo probe separandolo con "," y ";" pero no funciona, si alguien tiene me pude indicar que estoy haciendo mal se lo agradecere.

Gracias

Alejandro
Valparaiso - CHILE
__________________
Los muertos en CRISTO de sus tumbas volveran y los que vivimos en las nubes nos levantara .......
Responder Con Cita
  #2  
Antiguo 09-11-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Hola Alejandro, que tal?, mira trata para la proxima vez usar las etiquetas para que el contenido del mensaje sea mas legible.

Código Delphi [-]
procedure TForm002.BitBtn5Click(Sender: TObject);
var
   smtp: TIdSMTP;
   mail: TIdMessage;
 begin
  {Buscar Correo del Destinatario}
  smtp := TIdSMTP.Create(Self);
  mail := TIdMessage.Create(Self);
  with smtp do
  begin
   Port    :=25;
   Host    :='nombrehost';
   Username:='';
   Password:='';
  end;
  with mail do
  begin
   Recipients.Add;
   {Adiciona Destinatario al Correo}
   Recipients[0].Name   :=EditDestinatario.Text; {Nombre del Destinatario}
   Recipients[0].Address:=EditDestino.Text; {Correo del Destinatario PARA}
   From.Name            :='xxxxx'; {Nombre del Remitente}
   From.Address         :='usuario@dominio';{Correo del Remitente}
   Subject              :=EditAsunto.Text {Asunto}
   Body.Text            :=Memo1.Lines.Text;
   {Adiciona Destinatario CC AL  Correo}
   if EditConCopia.Text<>''
    then begin                CCList.Add.Address:=EditConCopia.Text; 
{destino01@dominio;destino02@dominio;destinon@dominio}
         end;
  end;
  smtp.Connect;
  Screen.Cursor:=CrDefault;
  try
   try
    smtp.Send(mail);
    ShowMessage('Mensaje Enviado Satisfactoriamente');
   except
    on E: Exception do
     ShowMessage('Ocurrio un Error al Intentar enviar Automaticamente el Mensaje');
   end;
  finally
   if smtp.Connected then
      smtp.Disconnect;
  end;
  mail.Free;
  smtp.Free;
end;

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #3  
Antiguo 09-11-2007
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Hola Alejandro73

Mira, veo que trabajas con el componente TIdMessage.. bueno, si observas sus propiedades te podras dar cuenta que existe

BccList, la cual genera un listado con Address, Name y Text

para agregar Cc, tendrias que usar algo así como

Código Delphi [-]
 
IdMessage.BccList[0].Address := direccion_correo@dominio
idMessage.BccList[1].Address := direccion_correo2@dominio

en realidad no he probado esto.. pero deberia andar por ahí el asunto.. espero que te sirva.. suerte
__________________
BlueSteel
Responder Con Cita
  #4  
Antiguo 09-11-2007
Alejandro73 Alejandro73 is offline
Miembro
 
Registrado: abr 2006
Ubicación: Valparaiso - CHILE
Posts: 132
Poder: 19
Alejandro73 Va por buen camino
Gracias

Primero que todo como se utilizan las etiquetas? y segundo tengo en una sola linea las direcciones de las copias y me pregunto como puedo agregarlas una a uno como dices Blusteel


Alejandro
__________________
Los muertos en CRISTO de sus tumbas volveran y los que vivimos en las nubes nos levantara .......
Responder Con Cita
  #5  
Antiguo 09-11-2007
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
aprovechando el hilo.. te dejo el codigo que utilizo para enviar correo desde delphi.. con archivo adjunto

Código Delphi [-]

     With IdMessage Do
     Begin
          Body.Clear;
          Body.Add(vMensaje.Text);
          From.Text := 'cuenta@dominio';
          Recipients.EMailAddresses := vPara.Text;
          // Aquí deberias poner BccList[0].Address := direccion_correo@dominio
          Subject := vAsunto.Text;
          Priority := TidMessagePriority(mpHighest);
          TidAttachment.Create(IdMessage.MessageParts,Archivo.pdf);
     End;

     With IdSMTP do
     Begin
          Username := 'cuenta';
          Password := 'contaseña';
          Host     := 'IP o nombre de la maquina';
          Port     := 25;
          try
             Connect;
             Try
                Send(IdMessage);
             Finally
                Disconnect;
             End;
             ShowMessage('Se envio el archivo en forma correcta');
          Except
                On E: EIdProtocolReplyError Do
                   ShowMessage('E-Mail no se ha podido enviar');
                On E: EFOpenError Do
                   Begin
                        ShowMessage('E-Mail no se ha podido enviar' + #13 +
                                    'Fichero Adjunto desconocido o erróneo.');
                   end;
                On E: EIdSocketError Do
                   Begin
                        ShowMessage('E-Mail no se ha podido enviar'+ #13 +
                                    'Host desconocido o incorrecto.');
                   end
                Else
                   ShowMessage('Fallo en el envio de email');
          End;
         If Connected Then Disconnect;
     End;
     Close;
__________________
BlueSteel
Responder Con Cita
  #6  
Antiguo 09-11-2007
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Cita:
Empezado por Alejandro73 Ver Mensaje
Gracias

Primero que todo como se utilizan las etiquetas? y segundo tengo en una sola linea las direcciones de las copias y me pregunto como puedo agregarlas una a uno como dices Blusteel
Alejandro
los de las etiquetas es sencillo, una vez escrito lo que quieres poner debes seleccionarlo y despues precionas el boton de tipo que sea.. delphi.. sql.. php.. etc..

si tienes todas las direcciones,, bastaria que ellas esten separadas entre sí por punto y coma (... y se las agregas

suponiendo que tienes esto
Código Delphi [-]
 
listado_direcciones_con_copia.text := 'correo1@dominio.com; correo2@dominio2.com; correo3@dominio.com';
BccList[0].Address := listado_direcciones_con_copia.text;

aunque seria bueno que especifíques desde donde obtienes las direcciones de correos, si estas las ingresan en el momento. o las capturas desde otro lado...

si las capturas... puedes hacer algo asi

Código Delphi [-]
correo_copia : String;
 
correo_copia := ''; // antes de agregar limpias
 
// este codigo que viene.. deberia estar cada vez que agregas una dirección.. si las seleccionas de algun lado por ej.
correo_copia := Concat(correo_copia,';',ConCopia.Text);

espero que te sirva...
__________________
BlueSteel
Responder Con Cita
  #7  
Antiguo 09-11-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Cita:
Empezado por Alejandro73 Ver Mensaje
Gracias

Primero que todo como se utilizan las etiquetas? y segundo tengo en una sola linea las direcciones de las copias y me pregunto como puedo agregarlas una a uno como dices Blusteel


Alejandro
Hola:



en la parte donde esta encerrada son las etiquetas del foro, como usarla? ejemplo, para codigos delphi se encierra el codigo asi:

[ DELPHI ] codigo [ /DELPHI ]

quedaria asi

Código Delphi [-]
codigo


o tambien seleccionando la parte del codigo y presionar en el menu del panel el icono que parece una casita.

espero que te sirva.

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #8  
Antiguo 09-11-2007
Alejandro73 Alejandro73 is offline
Miembro
 
Registrado: abr 2006
Ubicación: Valparaiso - CHILE
Posts: 132
Poder: 19
Alejandro73 Va por buen camino
Thumbs up Codigo y Copias

Gracias a Ambos

Luego les cuento como me fue
__________________
Los muertos en CRISTO de sus tumbas volveran y los que vivimos en las nubes nos levantara .......
Responder Con Cita
  #9  
Antiguo 18-07-2008
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 17
richy08 Va por buen camino
Cita:
Empezado por BlueSteel Ver Mensaje
aprovechando el hilo.. te dejo el codigo que utilizo para enviar correo desde delphi.. con archivo adjunto


Código Delphi [-]

With IdMessage Do
Begin
Body.Clear;
Body.Add(vMensaje.Text);
From.Text := 'cuenta@dominio';
Recipients.EMailAddresses := vPara.Text;
// Aquí deberias poner BccList[0].Address := direccion_correo@dominio
Subject := vAsunto.Text;
Priority := TidMessagePriority(mpHighest);
TidAttachment.Create(IdMessage.MessageParts,Archivo.pdf);
End;

With IdSMTP do
Begin
Username := 'cuenta';
Password := 'contaseña';
Host := 'IP o nombre de la maquina';
Port := 25;
try
Connect;
Try
Send(IdMessage);
Finally
Disconnect;
End;
ShowMessage('Se envio el archivo en forma correcta');
Except
On E: EIdProtocolReplyError Do
ShowMessage('E-Mail no se ha podido enviar');
On E: EFOpenError Do
Begin
ShowMessage('E-Mail no se ha podido enviar' + #13 +
'Fichero Adjunto desconocido o erróneo.');
end;
On E: EIdSocketError Do
Begin
ShowMessage('E-Mail no se ha podido enviar'+ #13 +
'Host desconocido o incorrecto.');
end
Else
ShowMessage('Fallo en el envio de email');
End;
If Connected Then Disconnect;
End;
Close;


Hola bluee steel heestado leyendo tu post para enviar correos a que maquina te refieres con Host? gracias de antemano
Responder Con Cita
  #10  
Antiguo 18-07-2008
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 17
richy08 Va por buen camino
Ya encontre la solucion muy buen post Gracias.
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
¿Cómo se reparte la carga del envío de correo electrónico? dec PHP 6 13-04-2008 23:27:34
Como envío correo desde Excel sin que me pida confirmación? luisdevis Varios 3 11-10-2006 23:18:18
Como envio un correo cuando se da de alta un nuevo registro solnaciente Internet 2 08-09-2006 15:06:03
Como envio un correo con archivos adjuntos Alejandro73 Internet 4 08-04-2006 01:09:49
¿Cómo vaciar los datos adjuntos del envio de un correo? D@byt Internet 1 01-12-2005 13:24:43


La franja horaria es GMT +2. Ahora son las 09:38:35.


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