Fórum Enviando anexos pelo Indy - Limpando Anexos #327465

15/08/2006

0

Saudações gente,
minha dúvida é bem simples, estou usando delphi 5 com Indy 9 (implmentei na semana passada) e está tudo funcionando tranquilo. eu só estou tendo problemas no envio de anexos (estou usando uma aplicação que lê uma planilha e envia anexos para cada registro relacionado). Meu problema é que não sei como limpar a caixa de anexos e a cada registro selecionado a caixa de anexos aumenta indo coisas que não tem nada a ver para o próximo.
alguém pode me ajudar nisso? Vai aí a linha que estou usando:
TIdAttachment.create(IdMessage1.MessageParts, TFilename(´T:\Faturamento\2006\MBSEG 2006\´ + codigo + ´_´ + parc + ´.pdf´));

Muito obrigado.


Zooropa

Zooropa

Responder

Posts

16/08/2006

Zooropa

Saudações gente,
será que alguém pode me ajudar nisso? :(


Responder

Gostei + 0

16/08/2006

Massuda

Antes de iniciar uma nova mensagem...
IdMessage1.MessageParts.Clear;



Responder

Gostei + 0

18/08/2006

Zooropa

Valeu Massuda, funcionou.
Como eu nunca utilizei o Indy, eu ficava tentando achar algum ´Clear´ no TIdAttachment...


Responder

Gostei + 0

22/08/2006

Zooropa

Massuda,
verifiquei o seguinte, a minha aplicação lê os contatos de uma determinada tabela, e a cada registro adiciona um anexo e envia. Terminada essa operação (com o fim do laço da tabela) eu disconecto o IdSMTP e crio outro e-mail para informar a lista de contatos enviados. Aí vem a questão: quando eu ponho neste segundo e-mail o MessageParts.clear, este segundo email vai totalmente em branco, se eu retiro esta linha do código, o e-mail é enviado porém o último anexo da tabela vai junto. Por que isso ocorre?


Responder

Gostei + 0

22/08/2006

Massuda

Se você está enviando texto formatado usando HTML, o código HTML vai como se fosse um anexo, por isso o Clear está limpando o texto também. No caso o jeito mais simples é gerar o texto novamente.


Responder

Gostei + 0

22/08/2006

Zooropa

Olá Massuda,
vê bem, eu não estou usando o formato HTML. Deixa eu te explicar melhor. Como disse tenho uma tabela com o nome dos contatos pra enviar os anexos (PDF). Cada anexo tem como título o código e a parcela correspondente ao registro da tabela (que são os movimentos financeiros de escolas). Quando batem os códigos e as parcelas do arquivo com o registro, o sistema gera um texto (pre-definido no código dentro de um memo oculto que vai para o body), anexa o Pdf e envia para o contato da escola, enquanto faz isso, adiciono numa variável a escola e a parcela que foi enviada. Faço isso num While. Ao terminar este processo, eu desconecto o IdSMTP, gero outro texto (no mesmo memo) e informo (apenas uma vez) as escolas que foram enviados os arquivos (neste não precisa de anexo, é apenas para informação). No caso de cima (do laço) o MessageParts.clear funciona blz mas se eu deixar esta linha logo abaixo no segundo, o email vai todo em branco e se eu retiro o email vai com o texto mais o último anexo do laço. Estou fazendo alguma coisa errada?


Responder

Gostei + 0

24/08/2006

Luizito

Responder

Gostei + 0

25/08/2006

Zooropa

Saudações Luizito,
agradeço pelo tópico, inclusive fiz uma impressão dele pra mim mas não é bem este meu caso, como disse anteriormente não estou usando html e o meu anexo (PDF) não está no corpo da mensagem. Graças a ajuda do Massuda consegui enviar os emails com anexo porém estou tendo problema em outra parte do fonte. Vou tentar esquematizar aqui pra vc entender:

Laço Enquanto não FDA da Query

//Carrego as variáveis necessárias (uma grava as escolas que estou enviando e-mail para utilização posterior);
//Configuro o ISMTP e o IdMessage;
//Relaciono a uf e o código da escola com o arquivo pdf (Uf_codigo.pdf);
//Limpa a caixa de anexos (Neste ponto Massuda me ajudou);
//Envia o Email;
Próximo Registro;

Fim do Laço.

Até aqui tudo bem agora vem meu problema. Logo abaixo do código acima eu tenho outro que envia e-mail informando as escolas que foram enviados os anexos.

//Configuro o IDSMTP e o IDMessage;
//Carrego o body com a variável que contem as escolas usada acima;
//***Meu problema, se eu usar o IDMessage.MessageParts.clear antes de enviar este segundo e-mail, este vai totalmente em branco. Se eu não utilizar esta linha, o email segue com o texto porém vai também com o último anexo do laço acima. Como resolvo isso?


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar