gsilvei
18-01-2008, 22:39:46
Hola a todos, en un DBGrid, cargo una lista con mas de 200 E-mails.
Utilizo a siguiente funcion:
procedure TForm1.EnviarCorreoMultiple(DBGrid :TDBGrid; CampoEmail, Asunto :String);
var
Direcciones :String;
begin
Direcciones := '';
with DBGrid.DataSource.DataSet do
begin
First; //Vamos al primer registro...
while not Eof do //Recorramos el DataSet hasta el ultimo registro...
begin
Direcciones := Direcciones + FieldByName(CampoEmail).AsString + ';'; //Agrega Direcciones...
Next;
end;
end;
SetLength(Direcciones, Length(Direcciones) -1); //Quitemos el punto y coma que sobra...
ShellExecute(Handle, 'open',
pchar('mailto:'+Direcciones+'?subject='+Asunto), '', '',SW_SHOW);
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
EnviarCorreoMultiple(DBGrid1, 'email', Lista...');
end;
funciona todo bien,
solo que me repare que el Outlook Express 6 tiene un limite para adicionar direcciones de e-mail, me podrian ayudar para que puede de alguna forma, para enviar por ejemplo de a 50 e-mails?
gracias nuevamente,
saludos.
Utilizo a siguiente funcion:
procedure TForm1.EnviarCorreoMultiple(DBGrid :TDBGrid; CampoEmail, Asunto :String);
var
Direcciones :String;
begin
Direcciones := '';
with DBGrid.DataSource.DataSet do
begin
First; //Vamos al primer registro...
while not Eof do //Recorramos el DataSet hasta el ultimo registro...
begin
Direcciones := Direcciones + FieldByName(CampoEmail).AsString + ';'; //Agrega Direcciones...
Next;
end;
end;
SetLength(Direcciones, Length(Direcciones) -1); //Quitemos el punto y coma que sobra...
ShellExecute(Handle, 'open',
pchar('mailto:'+Direcciones+'?subject='+Asunto), '', '',SW_SHOW);
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
EnviarCorreoMultiple(DBGrid1, 'email', Lista...');
end;
funciona todo bien,
solo que me repare que el Outlook Express 6 tiene un limite para adicionar direcciones de e-mail, me podrian ayudar para que puede de alguna forma, para enviar por ejemplo de a 50 e-mails?
gracias nuevamente,
saludos.