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á 2738 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

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

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

  • 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...
The popup will be closed in 10 segundos...