Ver Mensaje Individual
  #2  
Antiguo 02-12-2011
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Reputación: 21
AzidRain Va camino a la fama
Resuelto

A veces lo mas simple es lo mas efectivo:

1.- Tomamos el TMemo y le ponemos en false la propiedad wordwrap antes de leer las líneas.
2.- Leemos cada línea (que en realidad es un párrafo) y le agregamos el tag "</br>" al html que vamos a usar
3.- Seguimos hasta leer todas las líneas.
4.- Volvemos a poner el true el wordwrap.

Voilá..

Como seda.

Les dejo mi ejemplo de código, ojo no les sirve si no tienen los componentes pero puede dar una idea a quien tenga la misma duda:

Código:
procedure TFEnviarMailManual.AAceptarExecute(Sender: TObject);
var Mensaje: TMensajeMail;
    Correo : TMailer;
    I: Integer;
    HTMLLines: TStrings;


begin
  inherited;

  ememo.Properties.WordWrap := False;
  if eAsunto.Text='' then
  Begin
    MessError('Debe escribir el asunto que llevará el e-mail');
    eAsunto.SetFocus;
  End
  Else
  Begin
    if MessPregunta('¿Confirma que desea enviar los correos?')=mrYes then
    Begin
        try
          HTMLLines := TStringList.Create;
          //Llenamos la cabecera del HTML
          With HTMLLines Do
          begin
            Add('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"');
            Add('"http://www.w3.org/TR/html4/loose.dtd">');
            Add('<html xmlns="http://www.w3.org/1999/xhtml">');
            Add('    <head>');
            Add('        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />');
            Add('        <title>New Web Project</title>');
            Add('    </head>');
            Add('    <body>');
            Add(' <STYLE>');
            Add('{');
            Add('font-family:"Times New Roman";');
            Add(')font-size:20px;');
            Add('}');
            Add(' </STYLE>');

            Add('       <center><img src="http://www.aztecaplus.com/mailing/logomail.pn" alt="logotipo"></center>');
            Add('       <p class="cuerpo"><i>');
          end;

          //Ahora llenamos el cupero del correo

          for I := 0 to ememo.lines.Count - 1 do
            begin
              HTMLLines.Add(ememo.Lines.Strings[i]+'<br/>');
            end;

          //Finalmente cerramos el HTML

          With HTMLLines do
          begin
            Add('</i></p>');
            Add('</body>');
            Add('</html>');

          end;

          LabEnviando.Visible := True;
          Barra.Visible :=True;
          Barra.Min  := 0;
          Barra.Max  := ListaMails.Count;
          Barra.Step := 1;
          Correo := TMailer.Create;
          Try
            Correo.MailHost.Host     := capadatos.parm_servidor_smtp;
            Correo.MailHost.Username := capadatos.parm_email_Direccion;
            Correo.MailHost.Password := capadatos.parm_password_Direccion;
            Correo.cuenta_origen     := capadatos.parm_email_Direccion;





              correo.ConectaMail;

              for I := 0 to ListaMails.Count - 1 do
                   Begin
                     correo.EnviaEmailHTML('Azteca Plus',
                                        Correo.cuenta_origen,
                                       'cesarvinas@gmail.com',//ListaMails.Strings[i],
                                       easunto.Text,
                                       TStringList(HTMLLines),
                                       TStringList(ememo.Lines),
                                       eArchivo.Text);
                     Barra.StepIt;
                     Application.ProcessMessages;
                   End;
              correo.DesconectaMail;


          Finally
            Correo.Free;
            Barra.Visible         := False;
            LabEnviando.visible   := False;
          End;
        finally
          close;
          HTMLLines.Free;
           ememo.Properties.WordWrap := True;
        end;

    
          MessInfo('Se enviaron todos los mensajes');
    End;
  End;
end;
__________________
AKA "El animalito" ||Cordobés a mucha honra||

Última edición por Casimiro Notevi fecha: 03-12-2011 a las 09:47:13.
Responder Con Cita