Tema: enviar mail
Ver Mensaje Individual
  #2  
Antiguo 05-05-2005
lgarcia lgarcia is offline
Miembro
 
Registrado: jul 2004
Posts: 479
Reputación: 20
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