Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-11-2011
Lenny Lenny is offline
Miembro
 
Registrado: jun 2007
Posts: 161
Poder: 17
Lenny Va por buen camino
Question Problemas al enviar Mail con Indy

Buenas estimados, los molesto nuevamente, de antemano muchas gracias...

Tengo un IdSMTP y un IdMessage mas este codigo:

Código Delphi [-]
 
begin
IdMessage1.Recipients.EMailAddresses:=Edit1.Text;
IdMessage1.From.Address:= 'mail@mail.net';
IdMessage1.Subject:='envio de correo automático';
IdMessage1.Body.Text:=
'Para su información :' + #13#10 + #13#10 +
                   'El usuario '+ BDatos.RegHallazgos_T.FieldbyName('PGHallazgo').asString +
                   ' ha Levantado una ' + BDatos.RegHallazgos_T.FieldbyName('TipoDesviacion').asString +
                   ', Folio N° '+ BDatos.RegHallazgos_T.FieldbyName('idrhallazgo').asString + ' Con fecha '+ BDatos.RegHallazgos_T.FieldbyName('FECHA').asString +'''' +  #13#10 +
                   'Unidad De proceso:'+ BDatos.RegHallazgos_T.FieldbyName('UnidadProceso').asString + '''' + #13#10 +
                   'Responsable : '+ BDatos.RegHallazgos_T.FieldbyName('Responsable').asString +'''' + #13#10 +
                   'Descripción del Hallazgo: '+ BDatos.RegHallazgos_T.FieldbyName('DesHallazgo').asString +''''+ #13#10 +
                   'Por favor Realizar análisis de causa y acción inmediata antes de 7 días hábiles.' + #13#10 +
                   '' + #13#10 +
                   'Atte.' + #13#10 +
                   'SGC';
IdSMTP1.Connect;
IdSMTP1.Send(IdMessage1);
IdSMTP1.Disconnect;
end;

He provado infinidad de codigos de este foro e internet en general... y este con ciertos ajustes es el que mas resultado me ha dado, el problema, al enviar el mail los acentos los aparecen con signos de interrogacion encerrados en un cuadro negro...
que estoy haciendo mal??? hay otra forma mas facil y mejor de enviar un mail a distintos destinatarios???, aparte, que me llegan a la bandeja de SPAM...

Ojala puedan ayudarme, en este caso necesito enviar los mails con sus acentos correspondientes y/o (ojala, si no, texto plano no mas) con formato, firma y logo???

De antemano muchas gracias...

PD: el por que me quede con este codigo??? es el unico que pude echar a andar que me deja de tener mas de un destinatario...
PD2: no es para ahcer SPAM, es que a veces se deve enviar el informe a 3, 5, 2 6 etc... personas distintas...
Responder Con Cita
  #2  
Antiguo 14-11-2011
Lenny Lenny is offline
Miembro
 
Registrado: jun 2007
Posts: 161
Poder: 17
Lenny Va por buen camino
Talking Solucionado!!!

Me autorespondo:

Código Delphi [-]
 
procedure TForm2.Button3Click(Sender: TObject);
begin
IdMessage1.ContentType := 'text/plain';
IdMessage1.CharSet := 'UTF-8';
IdMessage1.Recipients.EMailAddresses:=Edit1.Text;
IdMessage1.From.Address:= 'mail@mail.net';
IdMessage1.Subject:='envio de correo automático';
IdMessage1.Body.Text:=
'Para su información :' + #13#10 + #13#10 +
                   'El usuario '+ BDatos.RegHallazgos_T.FieldbyName('PGHallazgo').asString +
                   ' ha Levantado una ' + BDatos.RegHallazgos_T.FieldbyName('TipoDesviacion').asString +
                   ', Folio N° '+ BDatos.RegHallazgos_T.FieldbyName('idrhallazgo').asString + ' Con fecha '+ BDatos.RegHallazgos_T.FieldbyName('FECHA').asString +'''' +  #13#10 +
                   'Unidad De proceso:'+ BDatos.RegHallazgos_T.FieldbyName('UnidadProceso').asString + '''' + #13#10 +
                   'Responsable : '+ BDatos.RegHallazgos_T.FieldbyName('Responsable').asString +'''' + #13#10 +
                   'Descripción del Hallazgo: '+ BDatos.RegHallazgos_T.FieldbyName('DesHallazgo').asString +''''+ #13#10 +
                   'Por favor Realizar análisis de causa y acción inmediata antes de 7 días hábiles.' + #13#10 +
                   '' + #13#10 +
                   'Atte.' + #13#10 +
                   'SGC';
IdSMTP1.Connect;
IdSMTP1.Send(IdMessage1);
IdSMTP1.Disconnect;
end;

Despues de muchas pruebas y error y buscar referentes a estos componentes di con la solucion, habia que agregar estas dos lineas al principio:

Código Delphi [-]
IdMessage1.ContentType := 'text/plain';
IdMessage1.CharSet := 'UTF-8';

Aun estoy haciendo alguans correcciones para depurar el asunto, cualquier duda si alguien tiene un problema similar, por ak estare, de antemano gracias y ojala esta solucion le sirva a alguien Byes!!!
Responder Con Cita
  #3  
Antiguo 14-11-2011
Avatar de joelphi
joelphi joelphi is offline
Miembro
 
Registrado: feb 2009
Ubicación: Guerrero
Posts: 24
Poder: 0
joelphi Va por buen camino
Hola

mi buen amigo tengo un problema similar al tuyo, y al igual que tu ya he probado muchisimas veces codigo y nunca me queda..el codigo que mas se acerco al envio es este..
Código Delphi [-]

procedure TForm1.prueba;
var SMTP: TIdSMTP;
   mensaje: TIdMessage;

begin
   mensaje := TIdMessage.Create(nil);
smtp := TIdSMTP.Create(nil);
smtp.Username := 'notificaciones.1@gmail.com';
smtp.Password := 'contr@seña';
smtp.Host := 'smtp.gmail.com';
SMTP.Port := 587;
smtp.AuthType:=atSASL;

mensaje.Subject := 'Aviso de vencimiento de pago';
mensaje.From.Name := 'ventas elmar';
Mensaje.From.Address := 'correo _destino@hotmail.com';

mensaje.Body.Text := 'Probando el servicio de correo .......................';
mensaje.ContentType := 'text/html';


mensaje.Recipients.Add;
mensaje.Recipients[0].Address := 'correo_destino@hotmail.com'; // destinatario
 smtp.UseTLS:=utUseRequireTLS;

smtp.Connect;
try
try

smtp.SendMsg(mensaje,true);
//smtp.Send(mensaje);
ShowMessage('se envio correctamente a ');
except
on E: Exception do
ShowMessage(E.Message);
end;
finally
if smtp.Connected then
smtp.Disconnect;
end;
end;

Uso Delphi 2007
te agradeceria infinitamente si me ayudaras con un ejemplo o alguna referencia..por favor mi buen amigo...

de antemano Gracias...
Responder Con Cita
  #4  
Antiguo 14-11-2011
Lenny Lenny is offline
Miembro
 
Registrado: jun 2007
Posts: 161
Poder: 17
Lenny Va por buen camino
Red face

pero... cual es el problema que tienes con este codigo??? puedes dar mas detalles???
Responder Con Cita
  #5  
Antiguo 14-11-2011
Avatar de joelphi
joelphi joelphi is offline
Miembro
 
Registrado: feb 2009
Ubicación: Guerrero
Posts: 24
Poder: 0
joelphi Va por buen camino
hola

Primeramente gracias por contestar..mira el codigo pasado es muy simple..tengo este procedimientos que hace lo mismo pero me manda un error, te los describo acontinuacion..

Código Delphi [-]
procedure TForm1.EnviarMensaje(sUsuario, sClave, sHost, sAdjunto, sAsunto,
  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.Username := sUsuario;
  SMTP.Password := sClave;
  SMTP.Host := sHost;
  SMTP.Port := 587;
  smtp.AuthType:=atDefault;

  // Creamos el contenido del mensaje
  Mensaje := TIdMessage.Create( nil );
  Mensaje.Clear;
  Mensaje.From.Name := sDestino;
  Mensaje.From.Address := sDestino;
  Mensaje.Subject := sAsunto;
  Mensaje.Body.Text := sMensaje;
  
  try
    SMTP.Connect;
  except
    raise Exception.Create( 'Error al conectar con el servidor.' );
  end;
       if SMTP.Connected then
     SMTP.Send(Mensaje);

  FreeAndNil( Mensaje );
  FreeAndNil( SMTP );

  Application.MessageBox( 'Mensaje enviado correctamente.',
    'Fin de proceso',MB_ICONINFORMATION );
end;

Y LO MANDO A LLAMAR ASI..
Código Delphi [-]
EnviarMensaje('correo_proveedor@gmail.com', 'contr@seña', 'smtp.gmail.com',
             '-', 'Te envio mi documento',
             'Correo_destino@hotmail.com', 'Adjunto archivo: documento.zip');

EL ERROR ES ESTE..

"class EIdSMTPReplyError with Message 'Must issue a STARTTLS' command first"

SUCEDE CUANDO PASA POR ESTE CODIGO
SMTP.Send(Mensaje);

por ahora no enviare archivos adjuntos solo quiero enviar el correo..

NECESITO SU AYUDA...POR FAVOR...
Responder Con Cita
  #6  
Antiguo 14-11-2011
Lenny Lenny is offline
Miembro
 
Registrado: jun 2007
Posts: 161
Poder: 17
Lenny Va por buen camino
Wink Respuesta

Pregunta: Necesitas enviar/trabajar con GMAIL???, las respuestas seran enviadas a GMAIL?? o desde GMAIL???

Como sea, si necesitas por ahora enviar mails y luego adjuntos, revisa este codigo:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
 var
   smtp: TIdSMTP;
   mail: TIdMessage;
 begin
   smtp := TIdSMTP.Create(Self);
   mail := TIdMessage.Create(Self);
   with smtp do
   begin
     Port := 587;
     Host := 'smtp.gmail.com';
     Username := 'tucorreo@gmail.com';
     Password := '********';
   end;
   with mail do
   begin
     Recipients.Add;
     Recipients[0].Name := 'Lucho de las Rosas';
     Recipients[0].Address := 'correoqueresive@gmail.com'; //Puede ser cualqueira, no necesariamente GMAIL
     From.Name := 'Juanito Perez de los Palotes';
     From.Address := 'tumail@gmail.com';
     Subject := 'Pruebas';
     Body.Text := 'Pruebas 2';
   end;
   TIdAttachmentFile.Create(mail.MessageParts, 'C:\Pruebas.txt');
   smtp.Connect;
   try
     try
       smtp.Send(mail);
     except
       on E: Exception do
         ShowMessage(E.Message);
     end;
   finally
     if smtp.Connected then
       smtp.Disconnect;
   end;
   mail.Free;
   smtp.Free;
 end;

Si no te sirve, u obligatoriamente deves trabajar con el codigo antes expuesto nos avisas, y veremos que podemos hacer, un abrazo... Byes!!!
Responder Con Cita
  #7  
Antiguo 15-11-2011
Avatar de joelphi
joelphi joelphi is offline
Miembro
 
Registrado: feb 2009
Ubicación: Guerrero
Posts: 24
Poder: 0
joelphi Va por buen camino
Unhappy todavia no..

mi buen amigo algo no funciona con el ejemplo que me enviastes... o posiblemente sea yo :::
Adjunto el error..
Responder Con Cita
  #8  
Antiguo 15-11-2011
Lenny Lenny is offline
Miembro
 
Registrado: jun 2007
Posts: 161
Poder: 17
Lenny Va por buen camino
Question

puedes enviar el codigo tal cual lo tienes ahora en tu Delphi???
Responder Con Cita
  #9  
Antiguo 16-11-2011
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 20
Enan0 Va por buen camino
Te comento para enviar Emails a traves de Gmail tenes que Usar SSL,

hay varios ejemplos en la Seccion Internet. y varios en el FTP

Te recomiendo que Busques SMTP o GMAIL en la seccion Internet
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
Error al enviar e-mail con Indy Iuconlas Internet 0 02-03-2011 18:56:57
Problemas para enviar un e-mail con el TIdSMTP Mauro® Internet 8 17-06-2010 18:29:27
Enviar Mail con Indy + mostrar avance progressbar amadis Internet 7 03-02-2010 14:12:07
Problemas al enviar mail dvlt PHP 1 19-11-2007 23:02:54
Problemas al descargar un Mail con los Indy Fizban Internet 8 08-09-2004 23:05:48


La franja horaria es GMT +2. Ahora son las 02:11:34.


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