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 01-12-2008
Mauro Daniel Mauro Daniel is offline
Miembro
 
Registrado: nov 2006
Posts: 39
Poder: 0
Mauro Daniel Va por buen camino
Question Dejar e-mail elementos enviados

Hola a todos...
Siguiendo lo que encontre en el foro cree un evento que me permita enviar e-mails desde mi sistema. El siguiente es un fragmento del mismo:
procedure EnviarMensaje(sUsuario, sClave, sHost, sAdjunto, sAsunto, sOrigen, sDestino, sMensaje: String);
var
SMTP: TIdSMTP;
Mensaje: TIdMessage;
Adjunto: TIdAttachment;
begin
// Creamos el componente de conexión con el servidor
SMTP := TIdSMTP.Create( nil );
SMTP.Host := sHost;
SMTP.Port := 25;
SMTP.AuthenticationType := atNone;
// Creamos el contenido del mensaje
Mensaje := TIdMessage.Create(nil);
Mensaje.Clear;
Mensaje.From.Name := sOrigen;
Mensaje.From.Address := sOrigen;
Mensaje.Subject := sAsunto;
Mensaje.Body.Text := sMensaje;
Mensaje.SaveToFile
Mensaje.Recipients.EMailAddresses := sDestino;
Mensaje.MessageParts.
.
.
.
Mi duda es la siguiente: ¿Como puedo hacer para que los e-mail enviados me queden en mi correo dentro de la bandeja de elementos enviados?

Desde ya muchas gracias.
Saludos a todos
Responder Con Cita
  #2  
Antiguo 01-12-2008
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Creo que el método que estás utilizando es incorrecto.
Lo que debes hacer es enviarlo "a travez de" una aplicación como Outlook, Outlook Express o Thunderbird.
Busca en los foros, porque creo que hay algo...
Responder Con Cita
  #3  
Antiguo 01-12-2008
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Mira este link
Responder Con Cita
  #4  
Antiguo 02-12-2008
Mauro Daniel Mauro Daniel is offline
Miembro
 
Registrado: nov 2006
Posts: 39
Poder: 0
Mauro Daniel Va por buen camino
e-mail en bandeja de elementos enviados

Hola...Gracias por responder. Pero me gustaría saber si hay forma de que me queden en la bandeja de elementos enviados con el metodo que estoy utilizando. Yo investigué los dos métodos y el de smtp me permite gran variedad de opciones con respecto a la otra opcion (mailto), el único problema que tengo es que no me aparecen dentro de 'elementos enviados'.
Les agradezco nuevamente por su interes.
Salu2 a todos...
Responder Con Cita
  #5  
Antiguo 02-12-2008
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
De la forma que lo haces no es posible, porque no pasa a travez de la aplicación que los envía (Outlook), sinó que directamente va al servidor de correo saliente (SMTP).

La Aplicación que envía (Outlook) es la que se encarga de guardar una copia en una bandeja de "elementos enviados".

He encontrado este código, que quizás te sirva en este lugar:

Código Delphi [-]
const olMailItem = 0;
var Outlook: OLEVariant;
     MailItem: Variant;
begin
  try
   Outlook:=GetActiveOleObject('Outlook.Application') ;
  except
   Outlook:=CreateOleObject('Outlook.Application') ;
  end;
  MailItem := Outlook.CreateItem(olMailItem) ;
  with MailItem do begin
   Recipients.Add('delphi.guide@about.com') ;
   Subject := 'Subject: Outlook Mail From Delphi';
   Body := 'Welcome to my homepage:http://delphi.about.com';
   Attachments.Add('C:\Windows\Win.ini') ;
   Send;
  end; {with}
   Outlook := Unassigned;
end;
Al enviarlo a travez de una aplicación, esta se encargará de guardarlo en la carpeta correspondiente.

Nota: He visto en varias webs que no se puede hacer esto con Outlook Express. Solo con Outlook.

Última edición por duilioisola fecha: 02-12-2008 a las 12:44:34.
Responder Con Cita
  #6  
Antiguo 02-12-2008
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
En este link he encontrado la forma de enviar correos a travez de Outlook Express. Es necesario que esté MAPI esté instalado.

Código Delphi [-]
  

program MAPIMail;

uses
  MAPI;

function SendMailMAPI(const Subject, Body, FileName, SenderName, SenderEMail,
                  RecepientName, RecepientEMail: String) : Integer;
var
  message: TMapiMessage;
  lpSender,
  lpRecepient: TMapiRecipDesc;
  FileAttach: TMapiFileDesc;
  SM: TFNMapiSendMail;
  MAPIModule: HModule;
begin
  FillChar(message, SizeOf(message), 0);
  with message do
  begin
    if (Subject<>'') then
    begin
      lpszSubject := PChar(Subject)
    end;
    if (Body<>'') then
    begin
      lpszNoteText := PChar(Body)
    end;
    if (SenderEMail<>'') then
    begin
      lpSender.ulRecipClass := MAPI_ORIG;
      if (SenderName='') then
      begin
        lpSender.lpszName := PChar(SenderEMail)
      end
      else
      begin
        lpSender.lpszName := PChar(SenderName)
      end;
      lpSender.lpszAddress := PChar('SMTP:'+SenderEMail);
      lpSender.ulReserved := 0;
      lpSender.ulEIDSize := 0;
      lpSender.lpEntryID := nil;
      lpOriginator := @lpSender;
    end;
    if (RecepientEMail<>'') then
    begin
      lpRecepient.ulRecipClass := MAPI_TO;
      if (RecepientName='') then
      begin
        lpRecepient.lpszName := PChar(RecepientEMail)
      end
      else
      begin
        lpRecepient.lpszName := PChar(RecepientName)
      end;
      lpRecepient.lpszAddress := PChar('SMTP:'+RecepientEMail);
      lpRecepient.ulReserved := 0;
      lpRecepient.ulEIDSize := 0;
      lpRecepient.lpEntryID := nil;
      nRecipCount := 1;
      lpRecips := @lpRecepient;
    end
    else
    begin
      lpRecips := nil
    end;
    if (FileName='') then
    begin
      nFileCount := 0;
      lpFiles := nil;
    end
    else
    begin
      FillChar(FileAttach, SizeOf(FileAttach), 0);
      FileAttach.nPosition := Cardinal($FFFFFFFF);
      FileAttach.lpszPathName := PChar(FileName);
      nFileCount := 1;
      lpFiles := @FileAttach;
    end;
  end;
  MAPIModule := LoadLibrary(PChar(MAPIDLL));
  if MAPIModule=0 then
  begin
    Result := -1
  end
  else
  begin
    try
      @SM := GetProcAddress(MAPIModule, 'MAPISendMail');
      if @SM<>nil then
      begin
        Result := SM(0, Application.Handle, message, MAPI_DIALOG or
                     MAPI_LOGON_UI, 0);
      end
      else
      begin
        Result := 1
      end;

    finally
      FreeLibrary(MAPIModule);
    end;
  end
  if Result<>0 then
  begin
    MessageDlg('Error sending mail ('+IntToStr(Result)+').', mtError, [mbOk],
               0)
  end;
end;

begin

end.
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
Guardar emails enviados con las Indy serhasae Servers 7 15-04-2008 12:06:00
Duda sobre Archivos enviados por medio de firebird sin guardarlo en la BD RONPABLO Firebird e Interbase 6 13-10-2006 23:49:44
dejar de referenciar una dll fedeloko OOP 3 07-09-2006 16:13:58
obtener los mensajes enviados a windows teatry API de Windows 5 06-10-2005 17:51:17
Dejar en Cero el Transaction_log Carlex MS SQL Server 2 03-07-2005 03:21:13


La franja horaria es GMT +2. Ahora son las 04:48:52.


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