Cara vc está usando o componente IdSMTP para enviar seus emails? Caso esteja existem varias formas de se fazer essa pausa ou agilizar o envio de emails.
Um exemplo seria o comando sleep(#) depois de mandar um IdSMTP.Send exemplo
Código:
label Enviar;//declare um label caso necessite
...
Enviar:
...
IdSMTP1.Send(IdMessage1);
Sleep(70000) //tempo de 1:10
if not lista.eof then
goto Enviar:
Ou vc pode agilizar isso fazendo uma procedure simples para enviar emails como
Código:
procedure EnviarEmail(email,host, senha: String; Porta: Integer);
begin
if SMTP1.Connected then
SMTP1.Disconnect;
SMTP1.Username := email;
SMTP1.Password := senha;
SMTP1.Host := host;
SMTP1.Port := porta;
IdMessage1.Clear;
IdMessage1.ContentType := 'text/html';
IdMessage1.Subject := 'Assunto';
IdMessage1.From.Address := email;
IdMessage1.Body.LoadFromFile('c:\arquivo.html');//caso tenha um template pronto
IdMessage1.Recipients.Add.Address := Listade Endereços.Strings[I];
try
IdSMTP1.Connect;
IdSMTP1.Send(IdMessage1);
except
ShowMessage('Falha no envio: ' + email);
end;
end;
e coloca-la em um timer com o tempo que voce necessitar podendo utilizar mais de um email como no exemplo abaixo:
Código:
var Form1: TForm1;
Saida: Integer; //variaveis globais
...
procedure TForm1.Button1Click(Sender: TObject);
begin
Saida := 1;
Timer1.Enabled := True;//dispare o evento do timer atraves de um botão
...
procedure TForm1.Timer1Timer(Sender: TObject);
begin
case Saida of
1: begin Enviar('fulano@algumacoisa.net', '123456', 'smtp.algumacoisa.net', 25); Saida := 2 end;
2: begin Enviar('beltrano@algumacoisa.net', '123456', 'smtp.algumacoisa.net', 25); Saida := 3 end;
3: begin Enviar('sicrano@algumacoisa.net', '123456', 'smtp.algumacoisa.net', 25); Saida := 1 end;
end;
end;
bom espero ter ajudado, claro que tem mais formas de enviar emails em massa, mas se for pra mandar spam me tire da sua lista ok!?!? :lol: