Ir para conteúdo
Fórum Script Brasil
  • 0

ERRO AO ENVIAR EMAILS COM ANEXO .PDF EM DELPHI 7


valtino

Pergunta

Boa Noite Pessoal

Olha o codigo abaixo, quando vou anexar alem do .XML da NFe Processado, acrescenta também o anexo com o Arquivo .PDF da Nfe da erro, dissendo o arquivo .PDF não foi encontrado. Mas quando vou verificar no caminho o arquivo .PDF esta lá.

Com .XML sozinho envia normalmente, quando acrescendo o .PDF da este erro. Segue o Codigo para analise. Grato.

ERRO: Cannot open file "C:\sisglog\Notas Fiscais\PDF\12\Julho\NFe51120707421604000150550010000136761001134621.pdf". O sistema não pode encontrar o arquivo especificado.

cArquivo_XML:= cLocalSave;

cArquivo := QNotaFiscalCHAVE_ACESSO.asString;

cArquivo_XML := cArquivo_XML + 'NFe' + cArquivo + '.XML';

cArquivo_PDF := cArquivo_PDF + '\' + 'NFe' + cArquivo + '.PDF';

// adiciona anexos do email a ser enviado

IdMessage1.MessageParts.Clear;

TIdAttachment.Create(IdMessage1.MessageParts, TFileName(cArquivo_XML));

TIdAttachment.Create(IdMessage1.MessageParts, TFileName(cArquivo_PDF));

MAS O ARQUIVO ESTA LÁ COM O NOME CORRETO E PASTA. O QUE DEVO FAZER PARA RESSOLVER ISTO.

GRATO

VALTINO.

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0

ERRO: Cannot open file "C:\sisglog\Notas Fiscais\PDF\12\Julho\NFe51120707421604000150550010000136761001134621.pdf". O sistema não pode encontrar o arquivo especificado

experimente reduzir o tamanho do nome do arquivo para ver se funciona

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
ERRO: Cannot open file "C:\sisglog\Notas Fiscais\PDF\12\Julho\NFe51120707421604000150550010000136761001134621.pdf". O sistema não pode encontrar o arquivo especificado

experimente reduzir o tamanho do nome do arquivo para ver se funciona

abraço

Vou fazer isto mas o arquivo .XML pega normalmente e o tamanho do nome do arquivo é o mesmo, mudando apenas a extensao para .XML.

Não sei se ajuda na sua analise, mas o .PDF é criado em modo de execução, pelo QRExport, mas precisamente em um botão dentro do mesmo formulario de envio do emails.

Grato.

Link para o comentário
Compartilhar em outros sites

  • 0
o erro refere-se a que o arquivo especificado não foi encontrado no caminho ( path )

então certifique-se que o arquivo foi realmente criado e está na path

abraço

O arquivo esta na pasta e foi diminui o tamanho do nome do arquivo mas o erro continua.

Depurei o codigo e percebi que o erro ocorre na hora que vai enviar:

if IdSMTP1.Connected then

IdSMTP1.Send(IdMessage1);

Nesta linha e não no momento de inserção do arquivo .PDF

// adiciona anexos do email a ser enviado

IdMessage1.MessageParts.Clear;

TIdAttachment.Create(IdMessage1.MessageParts, TFileName(cArquivo_XML));

TIdAttachment.Create(IdMessage1.MessageParts, TFileName(cArquivo_PDF));

Fico no Aguardo da Ajuda.

Grato

Link para o comentário
Compartilhar em outros sites

  • 0
não me lembro em qual, mas um desses posts vai achar a resposta

http://scriptbrasil.com.br/forum/index.php...te=enviar+email

abraço

Boa Noite

Quando uso o OpenDialog para inserir os Anexos, o sistema envia sem dar erro algum, mas nestas NFe Processada em Lote não posso informar manual pois ficaria muito lento para o usuario, pois isto que tenho que informar os Anexo via codigo(automatico).

Teria um meio de fazer a programação do OpenDialog via codigo sem a interação do Usuario, isto é antes de anexar os arquivos no emails, inserir estes arquivos automaticamente no OpenDialog e usar o codigo abaixo para inserir os anexos buscando no vetor que foi incrementado pelo OpenDialog. Desta Forma acredito que ressolveria o problema uma vez que usando como já o OpenDialog já funcionou mas MANUALMENTE. COMO PODERIA SIMULAR OU USAR O OPENDIALOG VIA CODIGO. PARA NÃO APARECER O DIALOGO DO OPENDIALOG COM O USUARIO, SERIA TUDO VIA CODIGO. O EXEMPLO ABAIXO USA O OPENDIALOG E FUNCIONA MAS TEM A INTERAÇÃO COM O USUARIO E ISTO QUE TEMOS QUE INIBIR.

Grato mais uma vez.Aguardo Resposta.

procedure TForm1.btnAnexoClick(Sender: TObject);

var i: integer;

begin

if OpenDialog1.Execute then

begin

for i:= 0 to OpenDialog1.Files.Count -1 do

if (ListBoxAnexos.Items.IndexOf(OpenDialog1.Files) = -1) then

ListBoxAnexos.Items.Add(OpenDialog1.Files)

end;

end;

Leia mais em: Envio de E-mail usando o componente indy usando SMTP Gmail http://www.devmedia.com.br/envio-de-e-mail...7#ixzz22oxtrDJp

//Manipulando os Anexos

for Anexo := 0 to lbxAnexos.Items.Count-1 do

TIdAttachment.Create(idmessage.MessageParts, TFileName(lbxAnexos.Items.Strings[Anexo]));

Link para o comentário
Compartilhar em outros sites

  • 0

experimente assim

// adiciona anexos do email a ser enviado
IdMessage1.MessageParts.Clear;
TIdAttachment.Create(IdMessage1.MessageParts, TFileName(PAnsiChar(cArquivo_XML)));
TIdAttachment.Create(IdMessage1.MessageParts, TFileName(PAnsiChar(cArquivo_PDF)));

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

tente mudar o diretorio pra ver se funciona

qual SO você usa??

outra dica boa...voce esta usando algum banco de dados neste projeto??(se sim informe qual)

podes passar o codigo completo p mim dar uma analisada??

lembre-se de uma regra basica do delphi:usar muitas strings sem necessidade acaba tornando o projeto com um script ''burro''.e consequentemente ele pode se perder.Tente usar masi variaveis do que string.já me safei de muits problemas asiim ok??grato

Link para o comentário
Compartilhar em outros sites

  • 0
tente mudar o diretorio pra ver se funciona

qual SO você usa??

outra dica boa...voce esta usando algum banco de dados neste projeto??(se sim informe qual)

podes passar o codigo completo p mim dar uma analisada??

lembre-se de uma regra basica do delphi:usar muitas strings sem necessidade acaba tornando o projeto com um script ''burro''.e consequentemente ele pode se perder.Tente usar masi variaveis do que string.já me safei de muits problemas asiim ok??grato

Uso Windows XP, mas já testei em Windows 2003 server, fiz a modificação acima do JJones e nada, isto esta de bronca.

Quando ao Codigo me envia o seu emails que te passo completo. ok.

Grato

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...