Ir para conteúdo
  • Cadastre-se

dev botao

Enviar pdf da nfe por email


Ver Solução Respondido por Rogerio Luna Furlan,
  • Este tópico foi criado há 2537 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

Bom dia

Estou tentando enviar uma nfe por email. Até ai tudo bem pego o xml da nfe e ele envia só que gostaria de enviar o pdf no mesmo email, só que ao executar o comando 

NFE.EnviarEmail(email,caminho xml da nfe com seu nome, 1 )

ele não gera o PDF e não anexa o mesmo no email, mandando somente o xml.

Mesmo que eu mande o comando abaixo, ocorre o mesmo problema.

NFE.EnviarEmail(email,caminhoxml, '1' )

Utilizo java web e acbrmonitor po tcp/ip.

Desde já agradeço a atenção

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Bom dia

Segue código.


caminhoXML = "C:\ACBrMonitorPLUS\Arqs\49059272000156\NFe\201705\NFe\35170549059272000156550010000109971000000351-nfe.xml"
comando = "NFE.EnviarEmail([email protected]," + caminhoXML + ", 1 )";
retorno = enviaComandoNfe(comando);

//função para enviar o comando 

 private String enviaComandoNfe(String comando) {
        char c;

        logger("Iniciando a conexão com o ACBrMonitorPLUS...");

        StringBuilder saida = new StringBuilder();

        try {
            int port = 3434;
            InetAddress inetAddress = InetAddress.getLocalHost();
            InetSocketAddress inetSocketAddress = new InetSocketAddress(inetAddress, port);
            SocketChannel socketChannelClient = SocketChannel.open(inetSocketAddress);
            socketChannelClient.configureBlocking(false);

            try {
                logger(String.format("Tentando conectar em %s:%d...", inetSocketAddress.getHostName(), inetSocketAddress.getPort()));

                Thread.sleep(100);

                // Lendo mensagem de boas vindas do ACBrMonitor
                ByteBuffer buffer_out = ByteBuffer.allocate(1024);
                int idx = socketChannelClient.read(buffer_out);
                while (idx > 0 && socketChannelClient.isConnected()) {
                    buffer_out.flip();
                    while (buffer_out.hasRemaining()) {
                        System.out.print((char) buffer_out.get());
                    }
                    buffer_out.clear();
                    idx = socketChannelClient.read(buffer_out);
                }

                if (!comando.trim().isEmpty()) {
                    ByteBuffer buffer = ByteBuffer.allocate(BUFFER_SIZE);
                    buffer.put(comando.getBytes());
                    buffer.put(END_COMMAND.getBytes());
                    buffer.flip();
                    socketChannelClient.write(buffer);
                    logger(String.format("\n=> Enviando comando: \"%s\"", comando));

                    Thread.sleep(100);
                    logger("\nResposta do ACBrMonitorPLUS:");
                    buffer_out = ByteBuffer.allocate(1024);
                    c = 0;

                    while (c != ETX) {
                        idx = socketChannelClient.read(buffer_out);
                        while (idx > 0 && socketChannelClient.isConnected()) {
                            buffer_out.flip();
                            while (buffer_out.hasRemaining()) {
                                c = (char) buffer_out.get();
                                //System.out.print(c);
                                saida.append(c);
                            }
                            buffer_out.clear();
                            idx = socketChannelClient.read(buffer_out);
                        }
                    }
                }

            } catch (Exception e) {
                logger(e.getMessage());
                e.printStackTrace();
            } finally {
                logger("\nFechando a conexão...");
                socketChannelClient.close();


            }
        } catch (Exception e) {
            logger(e.getMessage());
            e.printStackTrace();
        }
        return saida.toString();
    }

com esse Código ele envia o e-mail com o XML em anexo, mas não gera o PDF e também não envia ele como anexo.

desde já agradeço

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
  • Solution

Bom dia Juliomar.

Realmente era isso, faltavam as aspas no comando.

Em java ficaria assim:

comando = "NFE.EnviarEmail(\"[email protected]\",\"" + caminhoXML + "\",\"1\")";
retorno = enviaComandoNfe(comando);

onde as barras antes das aspas são para colocar aspas dentro de uma string em java.

Obrigado pela atenção e pela ajuda

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...