O que tem de errado nesse codigo?
procedure TFrm.BtnEnviarClick(Sender: TObject);
begin
QryPendencias.close;
QryPendencias.sql.Text:=´select * from Pendencias where (pago=´Não´) And (finalizado = ´Não´)And (DtUltimoEmail < :datadehoje)´;
QryPendencias.parambyname(´datadehoje´).asdate := date - 5;
QryPendencias.open;
progressbar1.min := 0;
progressbar1.max := QryPendencias.recordcount;
progressbar1.position := 0;
progressbar1.show;
begin
{ Host do servidor de e-mail }
NMSMTP1.Host := QryContaEmailHost.AsString;
NMSMTP1.Port := 25;
{ Nome de login do usuário }
NMSMTP1.UserID := QryContaEmailUser.AsString;
NMSMTP1.Connect;
if not NMSMTP1.Connected then
raise Exception.Create(´Erro de conexão´);
with NMSMTP1.PostMessage do begin
{ E-mail do remetente }
FromAddress := QryContaEmailEmail.AsString;
{ Nome do remetente }
FromName := QryContaEmailNome.AsString;
{ E-mail do destinatário }
QryPendencias.first;
ToAddress.Clear;
ToAddress.add(´´);
while not QryPendencias.EOF do
begin
ToAddress[0]:=(QryPendenciasEmail.AsString);
Begin//mensagem
Body.Clear;
Body.text := inicio.text+´Prezado ´+fim.text+
inicio.text+QryPendenciasNmCli.AsString+fim.text+
inicio.text+´ (´+QryPendenciasNmCliMl.AsString+´)´+fim.text+
´<br/>´+´<br/>´+
inicio.text+´No dia ´+fim.text+
inicio.text+QryPendenciasDtLance.AsString+fim.text
+ voce.text+
inicio.text+QryPendenciasVlTotal.AsString+fim.text+
Referente.Text+azul.text+
QryPendenciasNmProduto.AsString+fim.text+´</b>´;
QryBancos.close;
QryBancos.sql.text := ´select * from CadBanco´;
QryBancos.open;
QryBancos.first;
while not QryBancos.EOF do
begin
{nome da agencia em vermelho}
body.add (Inicio.text + QryBancos.fieldbyname(´NmBanc´).asstring + fim.text);
body.add(Inicio.text + ´Agência: ´ + QryBancos.fieldbyname(´NrAgBanc´).asstring + fim.text);
body.add(Inicio.text + ´Conta: ´ + QryBancos.fieldbyname(´NrConta´).asstring + fim.text);
body.add(inicio.text+´Favorecido: ´+QryBancos.fieldbyname(´FavConta´).asstring + fim.text);
body.add(´<br/>´ + ´<br/>´);
QryBancos.next;
end;
End;
QryPendencias.next;
begin
NMSMTP1.SendMail;
progressbar1.position := progressbar1.position + 1;
end;
end;
end;
NMSMTP1.Disconnect;
progressbar1.hide;
End;
End;
poxa pessoal eu só tenho 15 anos mais meus cabelos ja estão caindo de tanto q eu ja tentei e naum da certo por isso que estou postando essa mensagem, eu acho que ta dando erro nessa linha
ToAddress[0]:=(QryPendenciasEmail.AsString);
Só que ele compila normal.
se alguém puder ajudar eu agradeço muito.
begin
QryPendencias.close;
QryPendencias.sql.Text:=´select * from Pendencias where (pago=´Não´) And (finalizado = ´Não´)And (DtUltimoEmail < :datadehoje)´;
QryPendencias.parambyname(´datadehoje´).asdate := date - 5;
QryPendencias.open;
progressbar1.min := 0;
progressbar1.max := QryPendencias.recordcount;
progressbar1.position := 0;
progressbar1.show;
begin
{ Host do servidor de e-mail }
NMSMTP1.Host := QryContaEmailHost.AsString;
NMSMTP1.Port := 25;
{ Nome de login do usuário }
NMSMTP1.UserID := QryContaEmailUser.AsString;
NMSMTP1.Connect;
if not NMSMTP1.Connected then
raise Exception.Create(´Erro de conexão´);
with NMSMTP1.PostMessage do begin
{ E-mail do remetente }
FromAddress := QryContaEmailEmail.AsString;
{ Nome do remetente }
FromName := QryContaEmailNome.AsString;
{ E-mail do destinatário }
QryPendencias.first;
ToAddress.Clear;
ToAddress.add(´´);
while not QryPendencias.EOF do
begin
ToAddress[0]:=(QryPendenciasEmail.AsString);
Begin//mensagem
Body.Clear;
Body.text := inicio.text+´Prezado ´+fim.text+
inicio.text+QryPendenciasNmCli.AsString+fim.text+
inicio.text+´ (´+QryPendenciasNmCliMl.AsString+´)´+fim.text+
´<br/>´+´<br/>´+
inicio.text+´No dia ´+fim.text+
inicio.text+QryPendenciasDtLance.AsString+fim.text
+ voce.text+
inicio.text+QryPendenciasVlTotal.AsString+fim.text+
Referente.Text+azul.text+
QryPendenciasNmProduto.AsString+fim.text+´</b>´;
QryBancos.close;
QryBancos.sql.text := ´select * from CadBanco´;
QryBancos.open;
QryBancos.first;
while not QryBancos.EOF do
begin
{nome da agencia em vermelho}
body.add (Inicio.text + QryBancos.fieldbyname(´NmBanc´).asstring + fim.text);
body.add(Inicio.text + ´Agência: ´ + QryBancos.fieldbyname(´NrAgBanc´).asstring + fim.text);
body.add(Inicio.text + ´Conta: ´ + QryBancos.fieldbyname(´NrConta´).asstring + fim.text);
body.add(inicio.text+´Favorecido: ´+QryBancos.fieldbyname(´FavConta´).asstring + fim.text);
body.add(´<br/>´ + ´<br/>´);
QryBancos.next;
end;
End;
QryPendencias.next;
begin
NMSMTP1.SendMail;
progressbar1.position := progressbar1.position + 1;
end;
end;
end;
NMSMTP1.Disconnect;
progressbar1.hide;
End;
End;
poxa pessoal eu só tenho 15 anos mais meus cabelos ja estão caindo de tanto q eu ja tentei e naum da certo por isso que estou postando essa mensagem, eu acho que ta dando erro nessa linha
ToAddress[0]:=(QryPendenciasEmail.AsString);
Só que ele compila normal.
se alguém puder ajudar eu agradeço muito.
Leandronanet
Curtidas 0
Respostas
Anonymous
07/04/2003
Acho que vc deveria colocar a linha ´ToAddress[0]...´ antes do Loop onde ela está inserida... Talvez logo depois que vc seta para ´´;
Vc não disse o erro que ocorre, então, se for aquele de não conseguir autenticação no servidor, vale a dica de que vc também deverá tentar colocar um componente POP e configurar cfe o componente SMTP e conectá-lo também, pois alguns provedores (muitos, na verdade), por questão de segurança, exigem autenticação POP3 para que vc se conecte em SMTP...
Vc não disse o erro que ocorre, então, se for aquele de não conseguir autenticação no servidor, vale a dica de que vc também deverá tentar colocar um componente POP e configurar cfe o componente SMTP e conectá-lo também, pois alguns provedores (muitos, na verdade), por questão de segurança, exigem autenticação POP3 para que vc se conecte em SMTP...
GOSTEI 0