Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-06-2012
Loviedo Loviedo is offline
Miembro
 
Registrado: dic 2004
Posts: 214
Poder: 0
Loviedo cantidad desconocida en este momento
Creo que la ayuda solicitada está perfectamente detallada pero no hay inconveniente en describir el error, porque creo que aclara menos que la pregunta.

error:
syntax error in arguments

Tengo 62 años, esto para mí es un hobby, no es mi profesión ni me lucro con ello, llevo mucho tiempo en este foro, pero a veces es decepcionante las respuestas que se dan, es muchos más elegante no responder, pués nadie está obligado a ello, no se si preguntas poco clara aumenta mucho el trabajo de los moderadores. Lo siento.
saludos.
Responder Con Cita
  #2  
Antiguo 30-06-2012
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Con el código que tienes, por qué no te construyes una función para enviar un solo correo cada vez, mediante un bucle llamas a la función pasándole una dirección cada vez así el fallo de alguna de las direcciones no afectaría a las otras, aunque no estaría demás dentro del Try incluir un mensaje la dirección xxx no pudo procesarse.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 30-06-2012
Loviedo Loviedo is offline
Miembro
 
Registrado: dic 2004
Posts: 214
Poder: 0
Loviedo cantidad desconocida en este momento
Gracias por la respuesta, pensé en ello, pero como es un tema muy tratado en el foro (correo automático), y como sólo es un hobby,
tenía curiosidad por una posible solución al envío masivo.
Saludos.
Responder Con Cita
  #4  
Antiguo 30-06-2012
Loviedo Loviedo is offline
Miembro
 
Registrado: dic 2004
Posts: 214
Poder: 0
Loviedo cantidad desconocida en este momento
Optaré por la solución del Sr. Marcoszorrilla. Gracias.
Saludos.
Responder Con Cita
  #5  
Antiguo 30-06-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Loviedo Ver Mensaje
Creo que la ayuda solicitada está perfectamente detallada pero no hay inconveniente en describir el error, porque creo que aclara menos que la pregunta.
error:
syntax error in arguments
Tengo 62 años, esto para mí es un hobby, no es mi profesión ni me lucro con ello, llevo mucho tiempo en este foro, pero a veces es decepcionante las respuestas que se dan, es muchos más elegante no responder, pués nadie está obligado a ello, no se si preguntas poco clara aumenta mucho el trabajo de los moderadores. Lo siento.
saludos.
Hola, el detallar lo mejor posible la pregunta, ni aumenta ni disminuye el trabajo de los moderadores, lo único que consigues es que te ayuden antes y mejor
Si las respuestas son decepcionantes pueden deberse a varios motivos:
1. Que la pregunta es decepcionante, por lo que es imposible ayudar.
2. Que la pregunta no es clara, por lo que induce a equívocos al tratar de "descifrar" lo que se pregunta, por lo que se dan respuestas variadas.
3. Que el que responde contesta lo que buenamente sabe, por tratar de ayudar, para encaminar o para dar alguna pista de por donde van los "tiros".

Por ejemplo, ahora dices que el error es "syntax error in arguments", eso es muy diferente a lo que dijiste antes. Es como si vas al médico y le dices que te duele la cabeza y el brazo derecho... pero se te "olvida" contarle que te caiste con la moto

Si se quieren respuestas buenas entonces habría que ver exactamente el mensaje del error, en qué línea del código se ha producido, qué valores tienen las variables involucradas, etc.

Por cierto, el que sea un hobby no implica que podamos dar respuestas distintas. El "médico por hobby" tiene que hacer su trabajo igual que el profesional, salvo que no le importe "perder" a sus pacientes

Aquí también somos todos voluntarios, que ayudamos cada uno en lo que podemos, también hay muchas más personas que están igual que tú, que tiene todo esto como hobby. Y por la edad, bueno, no creas que somos todos unos jovencitos tampoco, ojalá

Resumiendo, puedes hacer un bucle y enviar un mensaje cada vez con un try except, tal y como se te ha explicado o puedes usar un "truco" que no sé si te vale en tu caso, te explico:
Si todos los emails son iguales y van dirigidos a distintas direcciones, puedes enviarlos como "CCO", o sea, que todos las direcciones van en un único email enviado, pero todas las direcciones van en CCO (copia oculta, creo recordar que se llama), así de esa manera cada uno recibe su email pero no ve las direcciones de nadie más, no puede saber a quién más se le ha enviado.
Te puedo pasar un ejemplo, aunque no está hecho con Indy, pero para darte una idea, voy a buscarlo y te lo copio a continuación.
Responder Con Cita
  #6  
Antiguo 30-06-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bueno, aquí está el código, a ver si te sirve para algo, es muy antiguo, de hace unos 11 años, pero hay muchas empresas que siguen usándolo, sin problemas:

Uso el MAPImail de Scalabium Software

Código Delphi [-]
procedure TfrmMailing.btSendEmailClick(Sender: TObject);
var
  iX, iEmails : Cardinal;
begin
  mapiEmail.Recipients.Text:='';
  mapiEmail.Attachments.Text:='';
  iEmails := 0;
  //
  if (edMailTo.Text='') or (edSubject.Text='') then
  begin
    MensajeAviso('Debe escribir una dirección de email y un asunto');
    edMailTo.SetFocus;
    abort;
  end;
  //
  mapiEmail.Recipients.Add( edMailTo.Text );
  inc( iEmails );   // el edMailTo
  //
  try // Ahora le damos las direcciones para BCC
    mtD.DisableControls;  // <- esto es una tabla en memoria, en tu caso el checklistbox
    mtD.First;
    while not mtD.Eof do
    begin
      if mtD.FieldByName('sacar').AsInteger = 1 then
      begin
        mapiEmail.Recipients.Add( 'BCC:'+mtD.FieldByName('email').AsString );
        Inc( iEmails );
      end;
      mtD.Next;
    end;
    mtD.First;
    mtD.EnableControls;
  except
    MensajeError('Error al crear los emails BCC');
    abort;
  end;
  //
  if iEmails < 1 then
  begin
    MensajeAviso('No hay ningún destinatario para el email');
    exit; //abort;
  end;
  //
  if MensajeConfirmacion('Se va a enviar el mensaje a '+
                          IntToStr(iEmails)+' destinos, ¿Desea continuar?')<>mrYes then
    exit; //abort;
  //
  if lbAdj.Items.Count > 0 then
  begin
    try // Añadimos los Adjuntos
      for iX := 0 to lbAdj.Items.Count-1 do
        mapiEmail.Attachments.Add( lbAdj.Items.Strings[iX] );
    except
      MensajeError('Error al añadir los archivos adjuntos');
      exit; //abort;
    end;
  end;
  //
  try // Enviar el mensaje
    mapiEmail.Subject := edSubject.Text;
    mapiEmail.Body := reText.Lines.Text;
    //
    mapiEmail.EditDialog := false; //true;  PARA QUE SE MUESTRE EL PROGRAMA DE CORREO O NO. !!!!!!!
    //
    mapiEmail.Send;
    //
    iX := mapiEmail.LastError;
    if iX <> SUCCESS_SUCCESS then
      MensajeAviso('No se pudo enviar el mailing'#13#10'Error: '+IntToStr(iX)+' -> '+MAPIErrorDescription(iX))
    else
      MensajeAviso('Mailing enviado.');
  except
    MensajeError('Error de datos para el email');
    abort;
  end;
end;
Responder Con Cita
  #7  
Antiguo 30-06-2012
Loviedo Loviedo is offline
Miembro
 
Registrado: dic 2004
Posts: 214
Poder: 0
Loviedo cantidad desconocida en este momento
Gracias. Lo probaré.
Saludos.
Responder Con Cita
  #8  
Antiguo 30-06-2012
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Aunque no es exactamente lo que quieres quizás te sirva alguna parte del código:

Código Delphi [-]
procedure TfrConAlumnos.spCorreoClick(Sender: TObject);
Var
i:integer;
stlCorreo:TStringList;
nVacios:Integer;
s:String;
begin
stlCorreo:= TStringList.Create;
nVacios:=0;

  for i := 0 to frConAlumnos.Reja.SelectedRows.Count-1 do
  begin
  frConAlumnos.Reja.DataSource.DataSet.Bookmark := frConAlumnos.Reja.SelectedRows[i];

   if (pos('@',DmoJuanes.AlumnosCorreoel.AsString) > 0) and (pos('.',DmoJuanes.AlumnosCorreoel.AsString) > 0) then
   stlCorreo.Add(Trim(DmoJuanes.AlumnosCorreoel.Value)+';')
   else
   nVacios:=nVacios + 1;

  end;

  if nVacios > 0 then
  ShowMessage('Atención: Se han encontrado direcciones incorrectas en la selección y se han omitido.');

ShellExecute(0, 'open', PAnsiChar('Mailto:'+stlcorreo.CommaText), nil, nil,0);
stlCorreo.Free;
end;

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #9  
Antiguo 30-06-2012
Loviedo Loviedo is offline
Miembro
 
Registrado: dic 2004
Posts: 214
Poder: 0
Loviedo cantidad desconocida en este momento
Lo del Sr. Casimaimiro no me da error, pero llama al 'outlook', yo utilizo 'yahoo', también probé con 'gmail', pero el resultado es el mismo.
Muchas gracias. la solucíon del Sr. Marcoszorrilla de momento funciona. El envío masivo es para una comunidad de propietarios, y solo somos 26.
Saludos.
Responder Con Cita
  #10  
Antiguo 30-06-2012
Loviedo Loviedo is offline
Miembro
 
Registrado: dic 2004
Posts: 214
Poder: 0
Loviedo cantidad desconocida en este momento
Encontré el fallo.
El componente Indy no admite 'pepe@yahoo' como dirección de correo, pero si 'pepe@yah.es' aunque las dos son incorrectas.
Saludos.
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
Envio de correo con y sin autenticacion kharen Internet 4 30-05-2011 18:34:23
Envio de correo Besto Internet 1 22-11-2010 11:01:35
Duda Envio de Correo jlalvarez OOP 6 19-12-2007 21:28:32
Fallo al enviar correo electrónico User_Baja_2 Internet 1 04-02-2006 23:54:34
envio de correo srangel Linux 0 22-04-2005 17:44:56


La franja horaria es GMT +2. Ahora son las 08:54:20.


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