Fórum Problemas ao anexar arquivo. #172587
01/08/2003
0
Meu código está assim:
With qSelecionaEmail do
begin
Open;
while not Eof do
begin
SMTP.Host := FieldByName(´AUD_SERSAI´).AsString;
SMTP.Username:= ´xxxxxx´;
SMTP.Password := ´*****´;
IdMessage.From.Address := ´jussara@jussara.com.br´;
IdMessage.Recipients.EMailAddresses := ´jmc.jmc@terra.com.br´
IdMessage.Subject := FieldByName(´AUD_ASSUNTO´).AsString;
IdMessage.Body.Text := ´Esta é uma mensagem automática. Favor não responder´;
Attachment.Create(IdMessage.MessageParts,FieldByName(´arq´).AsString);
e assim por diante.
Acontece que o primeiro e-mail anexa correto. O segundo, anexa o arquivo do segundo registro mais o arq. do primeiro. O terceiro anexa o terceiro arq. mais os dois primeios lidos...
Eu queria que fosse somente o arquivo referente ao arq. lido.
Alguém pode me ajudar?!
Jussara
Curtir tópico
+ 0Posts
01/08/2003
Jussara
Só para complementar, minha query retornou 3 registros num teste que fiz agora. O campo arq, está com os seguintes dados, consecutivamente:
- C:\arq.pdf
- C:\arq2.pdf
- C:\arq3.pdf
Era para cada arquivo ser enviado para uma pessoa específica.
A primeira pessoa recebeu o arq.pdf. A segunda recebeu o arq.pdf e arq2.pdf. A terceira pessoa recebeu o arq.pdf, arq2.pdf e o arq3.pdf
Obrigada.
Gostei + 0
01/08/2003
Lfernandos
Tente fazer assim:
Parece que o campo arq da sua tabela tem o path de três arquivos, logo, você precisaria por exemplo separar a string em seus respectivos arquivos.
Eu não entendi direito esta parte de como estão armazendados os nomes dos arquivos, qualquer coisa mande um e-mail.
With qSelecionaEmail do
begin
Open;
while not Eof do
begin
SMTP.Host := FieldByName(´AUD_SERSAI´).AsString;
SMTP.Username:= ´xxxxxx´;
SMTP.Password := ´*****´;
IdMessage.From.Address := ´jussara@jussara.com.br´;
IdMessage.Recipients.EMailAddresses := ´jmc.jmc@terra.com.br´
IdMessage.Subject := FieldByName(´AUD_ASSUNTO´).AsString;
IdMessage.Body.Text := ´Esta é uma mensagem automática. Favor não responder´;
IdMessage.MessageParts.Clear;
TIdAttachment.Create(IdMessage.MessageParts,FieldByName(´arq´).AsString);
Next;
end;
IdSMTP.Send(IdMessage);
Gostei + 0
01/08/2003
Lfernandos
(O IdSMTP.Send(IdMessage); tem que estar dentro do laço while)
With qSelecionaEmail do
begin
Open;
while not Eof do
begin
SMTP.Host := FieldByName(´AUD_SERSAI´).AsString;
SMTP.Username:= ´xxxxxx´;
SMTP.Password := ´*****´;
IdMessage.From.Address := ´jussara@jussara.com.br´;
IdMessage.Recipients.EMailAddresses := ´jmc.jmc@terra.com.br´
IdMessage.Subject := FieldByName(´AUD_ASSUNTO´).AsString;
IdMessage.Body.Text := ´Esta é uma mensagem automática. Favor não responder´;
IdMessage.MessageParts.Clear;
TIdAttachment.Create(IdMessage.MessageParts,FieldByName(´arq´).AsString);
IdSMTP.Send(IdMessage);
Next;
end;
Gostei + 0
01/08/2003
Jussara
Faltava a linha:
IdMessage.MessageParts.Clear;
Valeu.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)