Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-05-2005
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 315
Poder: 20
amadis Va por buen camino
Angry enviar mail

Que tal Gente soy muy nuevo en esto hace 4 meses que ando investigando!

Estoy intentando hacer una opcion que me envie un mail pero no logro encontrar DONDE PONER LA DIRECCION DEL ESTINATARIO, encambio si encontre donde poner el asunto y el cuerpo del mensaje!

les dejo el codigo que utilicé a ver si me pueden ayudar!

--------------------------------------------------------------

var
MapiMessage: TMapiMessage;
MError: Cardinal;
// lpszAddress: LPSTR;
// ulRecipClass: Cardinal;
begin
with MapiMessage do
begin
ulReserved := 0;
lpszSubject := 'Enviado desde mi prgrama';
lpszNoteText := PChar(Dbedit5.Text);
lpszMessageType := nil;
// lpszAddress:= PChar(Dbedit5.Text);
lpszDateReceived := nil;
lpszConversationID := nil;
flFlags := 0;
lpOriginator := nil;
nRecipCount := 0;
lpRecips := nil;
nFileCount := 0;
lpFiles := nil;
end;
MError := MapiSendMail(0, Application.Handle, MapiMessage,
MAPI_DIALOG or MAPI_LOGON_UI or MAPI_NEW_SESSION, 0);
if MError <> 0 then MessageDlg(SSendError, mtError, [mbOK], 0);
end;
Responder Con Cita
  #2  
Antiguo 05-05-2005
lgarcia lgarcia is offline
Miembro
 
Registrado: jul 2004
Posts: 482
Poder: 21
lgarcia Va por buen camino
enviar email

Hola

De algun hilo del Club recopile el siguiente codigo que te debe servir

Enviar email, con adjunto, y sin abrir navegador.

// Para enviar un mail, sin abrir el navegador, enviando el destinatario, cc, bcc, y ficheros adjuntos.
Necesario :
NMSMTP1: TNMSMTP; // Componente de envio de correo
mCuerpo: TMemo; // Memo del cuerpo del mail
Memo: TMemo; // Memo donde se muestra el proceso de envio del mail
txtServidor : TEdit;
txtTitulo: TEdit;
txtPara: TEdit;
txtDe: TEdit;
txtCC: TEdit;
txtBcc: TEdit;
txtAdjunto: TEdit;
procedure TForm1.bEnviarClick(Sender: TObject);
begin
Memo.clear;
// Nombre del Servidor ...
NMSMTP1.Host:=trim( txtServidor.Text );
// Puerto de correo ...
NMSMTP1.Port:=25;
try
Memo.Lines.Add('Conectando con ' + trim( txtServidor.Text ) + ', puerto 25' );
// Conectando ...
NMSMTP1.Connect;
Except
// Imposible conectar con el servidor de correo ...
Memo.lines.add('Fallo en la conexion con el servidor SMTP.');
Exit;
end;
Memo.lines.add( 'Componiendo mail ...' );
with NMSMTP1 do begin
// Borra parametros por defecto ...
ClearParameters();
// Dirección origen ...
if ( trim( txtDe.Text ) <> '' ) then
PostMessage.FromAddress:= trim( txtDe.Text )
else
PostMessage.FromAddress:='desconocido@anonimo.dominio';
Memo.lines.add( 'Direccion origen : ' + PostMessage.FromAddress );
// Dirección destino. Se pueden indicar varias ( TStringList ) ...
PostMessage.ToAddress.Add( trim( txtPara.Text ) );
Memo.lines.add( 'Dirección destino : ' + trim( txtPara.Text ) );
// Direcciones copia. Se pueden indicar varias ( TStringList ) ...
if( trim( txtCC.Text ) <> '' ) then begin
PostMessage.ToCarbonCopy.Add( trim( txtCC.Text ) );
Memo.lines.add( 'CC : ' + trim( txtCC.Text ) );
end;
// Direcciones no visibles. Se pueden indicar varias ( TStringList ) ...
if( trim( txtBCC.Text ) <> '' ) then begin
PostMessage.ToBlindCarbonCopy.Add( trim( txtBCC.text ) );
Memo.lines.add( 'BCC : ' + trim( txtBCC.Text ) );
end;
// Titulo del mail ...
if( trim( txtTitulo.Text )='' ) then
PostMessage.subject:='[Sin titulo]'
else
PostMessage.subject:= trim( txtTitulo.Text );
Memo.lines.add( 'Subject : ' + PostMessage.subject );
// Adjuntos. Se pueden indicar varios ( TStringList ) ...
if ( trim( txtAdjunto.Text ) <> '' ) then begin
PostMessage.Attachments.Add( trim( txtAdjunto.Text ) );
Memo.lines.add( 'Adjunto : ' + trim( txtAdjunto.text ) );
end;
// Cuerpo del mail ...
if ( mCuerpo.Lines.Count > 0 ) then begin
PostMessage.body.Text:=mCuerpo.Text;
Memo.lines.add( 'Añadiendo cuerpo del mail ...' );
Memo.lines.add( ' ' );
end;
Memo.lines.add( 'Enviando ... ');
// Enviando mail ...
if ( trim( txtPara.Text ) <> '' ) then begin
SendMail;
Memo.lines.add( 'Mail enviado.');
end else
Memo.lines.add( 'Mail no enviado, no se especificó dirección de destino.' );
// Desconectando ...
Disconnect;
end;
Memo.lines.add( 'Desconectado');
end;

Saludos
Luis Garcia

_____________________________
La mejor manera de decir es hacer
Responder Con Cita
  #3  
Antiguo 06-05-2005
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 315
Poder: 20
amadis Va por buen camino
Wink Respuesta

Gracias.. pero mas me interesaria la otra forma usando la API si alguien lo conoce... además trabaja con el cliente predeterminado de correo.

O bien alguien que conozca de esto podria husmear en la clase MAPI.H que ahi esta toda la descripcion de esa api.

Gracias desde ya por la ayuda!
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


La franja horaria es GMT +2. Ahora son las 01:29:45.


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