Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Colaboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-06-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.740
Poder: 26
ContraVeneno Va por buen camino
Código Delphi [-]
Uses r2hconv

....
procedure Tfrm.EnviaCorreoClick(Sender: TObject);
var strOrigen: string;
begin
  inherited;
  redtMail.lines.SaveToFile('c:\temp.rtf');
  r2hconv.rtf2html('c:\temp.rtf', 'c:\temp.htm', ['']);
  redtHTML.Lines.LoadFromFile('c:\temp.htm');
  redtHTML.Lines.Add('');
  redtHTML.Lines.Add('');
  //leve verificación sobre el fomato de la dirección escrita
   if trim(edtMail0.text)='' then begin
    messagebox(Handle,'No ha escrito la dirección de correo del destinatario seleccionado.'+#13+'Correo No enviado.',
    'Error', MB_ICONError); Exit;
   end else begin
    if not ExecRegExpr('[\w\d\-\.]+@[\w\d\-]+(\.[\w\d\-]+)+',
        edtMail0.Text) then begin
      messagebox(Handle,'La dirección escrita no es una dirección de correo válida.'+#13+'Correo No enviado.',
      'Error', MB_ICONError);
      exit;
      //verificación sobre la segunda dirección
      if trim(edtMail1.text)<>'' then
       if not ExecRegExpr('[\w\d\-\.]+@[\w\d\-]+(\.[\w\d\-]+)+',
         edtMail1.Text) then
           edtMail1.text:='';
    end; //if not execregexpr
   end; //if trim mail0
   //Enviar el mail despues de guardar los datos
   frm.SMTP.Host:=Host;
   frm.SMTP.UserId:=Usuario;
   strOrigen:=strOrigen;
   frm.SMTP.Port:=25;
  with frm.SMTP do begin
   try
    try
     Connect;
    except on E:Exception do begin
     messagebox(Handle,'No se pudo establecer la conexión.'
     ,'Error.',MB_oK+MB_ICONERROR);
     end; //fin except
    end; // fin try - except
   finally
    if Connected then begin
      PostMessage.FromAddress:=strOrigen;
      PostMessage.ToAddress.Text:=edtMail0.Text;
      if edtMail1.Text<>'' then
        PostMessage.ToCarbonCopy.Text:=edtmail1.text;
      with PostMessage.Body do begin
       Clear;
       Add(redtHTML.Text);
      end; //with body
       PostMessage.Subject:=edtAsunto.Text;
       SendMail;
       Disconnect;
      end;
     end; //if connected
   end; //fin try - finally
   end; //with smtp
end;
....

usando un componente SMTP.

Aunque personalmente prefiero utilizar el método ShellExec con un comando mailto.

Más explícito que eso, no creo, pero puedes preguntar
__________________

Responder Con Cita
  #2  
Antiguo 28-06-2007
Phantom_Drake Phantom_Drake is offline
Miembro
 
Registrado: jun 2007
Posts: 13
Poder: 0
Phantom_Drake Va por buen camino
de hecho si tengo dudas aun en la linea:
Código Delphi [-]
if not ExecRegExpr('[\w\d\-\.]+@[\w\d\-]+(\.[\w\d\-]+)+',edtMail0.Text) then
marca error en el ExecRegExpr
a ke se debe esto???
Responder Con Cita
  #3  
Antiguo 28-06-2007
elchino_7 elchino_7 is offline
Registrado
 
Registrado: jun 2007
Posts: 2
Poder: 0
elchino_7 Va por buen camino
New guy

Contraveneno porq prefieres usar el shell q el smtp cuales son las ventajas y como se usaria
Responder Con Cita
  #4  
Antiguo 28-06-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.740
Poder: 26
ContraVeneno Va por buen camino
Cita:
Empezado por elchino_7
Contraveneno porq prefieres usar el shell q el smtp cuales son las ventajas y como se usaria
Cita:
Empezado por Guía de estilo
No solicites que te respondan por correo en privado

Los problemas deben ser un proceso público y transparente, durante el cual un primer intento de respuesta puede y debería corregirse si alguien con más conocimientos percibe que la respuesta es incompleta o incorrecta. Además quién te responde obtiene parte de su recompensa al verse que son competentes y útiles a nuestra comunidad.
Cuando pides una respuesta privada, estás interrumpiendo tanto el proceso como la recompensa. No lo hagas.
Guía de estilo


http://www.clubdelphi.com/foros/showthread.php?t=45268
__________________

Responder Con Cita
  #5  
Antiguo 28-06-2007
Phantom_Drake Phantom_Drake is offline
Miembro
 
Registrado: jun 2007
Posts: 13
Poder: 0
Phantom_Drake Va por buen camino
Thumbs up

ah se me olvidaba gracias por la informacion
Responder Con Cita
  #6  
Antiguo 02-07-2007
Phantom_Drake Phantom_Drake is offline
Miembro
 
Registrado: jun 2007
Posts: 13
Poder: 0
Phantom_Drake Va por buen camino
ke onda otra vez dando lata aki otra duda
tengo este codigo para mandar el correo con imagen pero nomas no puedo poner la imagen de fondo en el correo solo sale despues del texto alguien me puede ayudar por favor
Código Delphi [-]
procedure TFrm_Email.Button2Click(Sender: TObject);
var I,J,K,L:Integer;
    cadena,correo:string;
    Check: TcheckBox;
    ChildControl: TControl;
    html: TStrings;
    htmpart, txtpart: TIdText;
    bmppart: TIdAttachment;
    email: TIdMessage;
    //archiv:TStrings;
    filename,ss,filename1: string;
    a:Integer;
    idStars:   TIdAttachment;
    //archiv:t;
begin
  Redt_Texto.Lines.SaveToFile('C:\WINDOWS\EMKTMP.RTF');
  r2hconv.rtf2html('C:\WINDOWS\EMKTMP.RTF', 'C:\WINDOWS\EMKTMP.HTM',['']);
  try
    RichEdit2.lines.LoadFromFile('C:\WINDOWS\EMKTMP.HTM');
    for A:=0 to RichEdit2.lines.Count -1 do
    begin
     SS:=RichEdit2.Lines.Strings[A];
     RichEdit1.Lines.Add(SS);
    end;
  finally
  richedit1.Lines.Add('');
  richedit1.Lines.Add('');
  richedit1.Lines.Add('');
    //RichEdit2.Free;
  end;
 
  if DBLookupComboBox1.Text='' then
    ShowMessage('debe seleccionar un formato')
  else
  begin
    Lst_Mails.Items.Clear;
    with dtm_contactos.Qry_Correos do
    begin
      Close;
      SQL.Clear;
      cadena:='select email from contactos where grupo<''0'' ';
      for I := 0 to GroupBox9.ControlCount - 1 do
        if GroupBox9.Controls[i] is TCheckBox then
          if TCheckBox(GroupBox9.Controls[i]).Checked then
            cadena:=cadena+ ' or grupo='''+(IntToStr(i+1))+'''';
      sql.Add(cadena);
      Open;
      First;
      if Lst_Correos.Items.Count > 0 then
        Lst_Mails.Items:=Lst_Correos.Items;
      while not Eof do
      begin
        Lst_Mails.Items.Add(fieldbyname('email').AsString);
        next;
      end;
    end;
    Lst_Correos.Items.Clear;
    for K:=0 to Lst_Mails.Items.Count -1  do
    begin
      correo:= Lst_Mails.Items.Strings[k];
      CopyFile(PChar('C:\Proyecto Email\Formatos\'+ DBLookupComboBox1.text ),PChar('C:\Archivos de programa\Borland\Delphi7\Projects\'+ DBLookupComboBox1.text),TRUE);
      //filename := ExtractFilePath(Application.ExeName) + '\homerorx.jpg';
      //filename1 := 'C:\Proyecto Email\Formatos\'+ DBLookupComboBox1.text + '''';
      filename := 'C:\Proyecto Email\Formatos\'+ DBLookupComboBox1.text ;
      html := TStringList.Create();
      {html.Add('');
      html.Add('');
      html.Add('');
      html.Add(' 

Hello

'); //html.Add(''); html.Add(''); html.Add('');}
for L:=0 to RichEdit2.lines.Count -1 do begin html.Add(RichEdit2.Lines.Strings[L]); end; email := TIdMessage.Create(nil); email.From.Text := 'origen'; email.Recipients.EMailAddresses := correo; email.Subject := 'Hello'; email.ContentTransferEncoding:= 'multipart/related'; email.IsEncoded:=true; email.Body.Assign(html); txtpart := TIdText.Create(email.MessageParts); txtpart.ContentType := 'text/html'; txtpart.Body.Text := RichEdit2.Text; htmpart := TIdText.Create(email.MessageParts, html); htmpart.ContentType := 'text/html'; bmppart := TIdAttachment.Create(email.MessageParts, filename); bmppart.ContentType := 'image/jpeg'; bmppart.FileIsTempFile := false; bmppart.contenttransfer:='base64'; bmppart.ContentDisposition := 'inline'; bmppart.ExtraHeaders.Values['Content-ID'] := ''; try SMTP.Host:='server'; SMTP.Port:=25; SMTP.Connect(); try SMTP.Send(email); ShowMessage('Sent'); except on E: Exception do ShowMessage('Failed: ' + E.Message); end; finally SMTP.Disconnect(); email.Free(); html.Free(); end; end; end;
Responder Con Cita
  #7  
Antiguo 03-07-2007
Avatar de aldmoscardi
aldmoscardi aldmoscardi is offline
Miembro
 
Registrado: oct 2006
Posts: 38
Poder: 0
aldmoscardi Va por buen camino
Provaste de decirle al componenete que iso vas a utlizar?
Yo e realizado un aplicacion que envia mail en formato HTML, si te interesa manda tu dir de mail que te paso un ejemplo, Saludos
Responder Con Cita
  #8  
Antiguo 28-06-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.740
Poder: 26
ContraVeneno Va por buen camino
Cita:
Empezado por Phantom_Drake
marca error en el ExecRegExpr
a ke se debe esto???
http://www.clubdelphi.com/foros/show...hlight=RegExpr

RegExpr

Cita:
Empezado por elchino_7
Contraveneno porq prefieres usar el shell q el smtp cuales son las ventajas y como se usaria
Por que utilizando el ShellExec se abrirá el cliente predeterminado de correo. No importa si tienes Outloock, Edore, Thunderbird, etc, etc. Al utilizar este comando se abrirá el que tengas instalado en la máquina donde se ejecute.

Bueno, que el comando ShellExec se puede realizar en una sola línea de código y como puedes ver en este hilo, utilizando un SMTP tienes hacer un show solo para enviar un correo.

Código Delphi [-]
ShellExecute(Handle, 'open', 
'mailto:[email protected]?subject=MySubject&Attach=''C:\Attachment.txt''',
nil, nil, SW_SHOW)

http://www.clubdelphi.com/foros/showthread.php?t=12158
__________________


Última edición por ContraVeneno fecha: 28-06-2007 a las 00:22:55.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 08:38:27.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi