eu executo um codigo para enviar email pelo metodo POST pelo netbeans, e o email é recebido normalmente, quando do um build and clean e executo o .jar o email apresenta erro
ao mapear o que o netbeans faz, peguei o comando enviado quando executo no mesmo
No seu .jar precisa ter um arquivo chamado MANIFEST.MF dentro da pasta META-INF que ira conter um mapeamento para o class-path indicando os jar’s que utiliza no projeto e um mapeamento para a main-class, ex. de como seria esse arquivo:
Com isso, você pode construir um .bat ou .sh se usa linux e fazer a invocação do jar ou até mesmo cadastrar como um serviço do seu sistema, espero que seja útil, abraços.
M
Mendes_Hemerson
Bom dia,
eu manipulei o manifest e deixei o mesmo de acordo com o citado, buildei o jar e verifiquei que o manifest se encontra presente
Ao fazer o teste ainda assim nao consegui enviar, da algum erro no post
/** * @param msg * @param janela * @param status * @param server * @param log_ocorrencia */publicvoidenviaEmail(Stringmsg,JTextAreajanela,Stringstatus,Stringserver,JTextArealog_ocorrencia){try{URLurl=newURL("url_post");URLConnectioncon=url.openConnection();// specify that we will send output and accept inputcon.setDoInput(true);con.setDoOutput(true);con.setConnectTimeout(20000);// long timeout, but not infinitecon.setReadTimeout(20000);con.setUseCaches(false);con.setDefaultUseCaches(false);// tell the web server what we are sendingcon.setRequestProperty("Content-Type","text/xml");OutputStreamWriterwriter=newOutputStreamWriter(con.getOutputStream());Stringaux="<Email xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://schemas.datacontract.org/2004/07/MDAWebApi.Models\">\n"+" <Assunto>[Report] Servidor "+server+", "+status+"</Assunto> \n"+" <Corpo>"+msg+" Problema INTERNO, NÃO abrir chamado</Corpo>\n"//+ " <DataEnvio>" + data + "</DataEnvio>\n"+" <De>[email removido]</De>\n"+" <Para>[email removido]</Para>\n"+" <SenhaMda>555</SenhaMda>\n"+" <UsuarioMda>555</UsuarioMda>\n"+"</Email>";writer.write(aux);// janela.append(aux + "\n\n");// System.out.printf(aux);writer.flush();// reading the responseInputStreamReaderreader=newInputStreamReader(con.getInputStream());StringBuilderbuf=newStringBuilder();char[]cbuf=newchar[2048];intnum;while(-1!=(num=reader.read(cbuf))){buf.append(cbuf,0,num);}Stringresult=buf.toString();log_ocorrencia.append("\nResponse from server after POST:\n"+result+"\n");janela.append("\nE-mail enviado com sucesso!\n\n");log_ocorrencia.append("\n\tE-mail enviado com sucesso!\n");}catch(Throwablet){janela.append(Arrays.toString(t.getStackTrace()));janela.append("\nVerificar Erro de envio de E-mail!\n\n");log_ocorrencia.append("\nVerificar Erro de envio de E-mail!\n\n");}}
}
Erro:
[sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source), sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source), verificarobo.EnviaEmail.enviaEmail(EnviaEmail.java:59), verificarobo.VerificaRobo.checaservidor(VerificaRobo.java:107), verificarobo.VerificaRobo.inicia(VerificaRobo.java:208), verificarobo.VerificaRobo.run(VerificaRobo.java:200), java.lang.Thread.run(Unknown Source)]
Verificar Erro de envio de E-mail!
ps: é algo bem simples feito as pressas somente para me enviar um email se tiver um processo travado em um servidor que devo monitorar
desde ja meu obrigado
aix
Pelo erro parece que por algum motivo ele não recebeu a url_post, de onde vem este valor?
M
Mendes_Hemerson
Desculpe pela simplicidade, POST é uma novidade para mim, nao entendi muito bem a sua pergunta
Voce deseja o html post que eu subo na url?
aix
Não tem problema, olha só:
URL url = new URL(“url_post”);
URLConnection con = url.openConnection();
seu código abre uma conexão nesta url_post, que endereço é esse ?
ele abre meu standalone e o email eh enviado normalmente
segundo um colega de trabalho, com esse comando eu estou recompilando a classe main
como falei, entendo pouco dessas coisas ainda
por isso que acredito ser algo que foi setado ou mal configurado para a criação do .jar
aix
como você esta gerando o jar? esta usando uma IDE ?
M
Mendes_Hemerson
clico na vassoura e martelo do netbeans (“limpar e construir” shift+f11) e busco na pasta dist o arquivo criado
sempre usei essa maneira, quando linko uma biblioteca externa ele cria uma pasta lib com o que foi linkado, nesse caso nao tm nada, somente o .jar e um read me
aix
esta tudo correto, deveria fucnionar, estou pensando o que pode ser.
aix
brother como esta configurado o java? JAVA_HOME a Path e o CLASSPATH ?
M
Mendes_Hemerson
Nas variaveis de ambiente tenho somente:
path: C:\ProgramData\Oracle\Java\javapath
aix
esta errado, adiciona como eu faço e testa por favor:
[sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source), sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source), verificarobo.EnviaEmail.enviaHotmail(EnviaEmail.java:59), verificarobo.VerificaRobo.checaservidor(VerificaRobo.java:107), verificarobo.VerificaRobo.inicia(VerificaRobo.java:208), verificarobo.VerificaRobo.run(VerificaRobo.java:200), java.lang.Thread.run(Unknown Source)]
Verificar Erro de envio de E-mail!
mesmo erro
aix
que coisa, tem como me mandar esse jar? agora confesso que estou curioso
se caso puder, o gmail ira bloquear o envio do jar, então compartilha no docs, não quero teus fontes, quero só o jar para executar, se funcionar o máximo que ira acontecer é um acesso negado, segue meu email, abraços.
brother ainda não testei, mas vou fazer assim que possivel.
aix
quando você digita no console java -version o que aparece ?
Uma coisa que reparei é que:
não é classpath e sim CLASS_PATH, ex:
variável: CLASS_PATH valor ,;JAVA_HOME
não é java_home mas sim JAVA_HOME, ex:
variável: JAVA_HOME valor C:\Program Files\Java\jdk1.8.0_101
o path também tem problema ele deve apontar para a bin da JDK, ex:
C:\Program Files\Java\jdk1.8.0_101\bin
M
Mendes_Hemerson
C:>java -version
java version "1.8.0_101"
Java™ SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot™ 64-Bit Server VM (build 25.101-b13, mixed mode)
resto esta ok, somente o classpath que estava sme o “_”
vou testar aqui depois passo o resultado
M
Mendes_Hemerson
ainda nd =/
to começando a achar mais facil mudar o metodo post xD hehehe
aix
tem que funcionar, como você faz para executar o jar? java -jar?
alia cima o path também estava errado, não apontava para a pasta bin, ajustou? lembra que depois de qualquer ajusta no windows é preciso fechar o etrminar (DOS) e abrir novamente para as modificações terem efeito.
M
Mendes_Hemerson
eu dou 2 cliques no .jar para executar
sim, ajeitei tanto o caminho da jdk quanto o “_”
aix
desculpa ser insistente mas no path não era só o underscore ele não apontava para a pasta /bin ajustou isso? bom a única coisa que sei é que tem que funcionar como a IDE, não tem nenhuma lib que esqueceu de declarar no manifesto né? se o erro persistir experimente reinstalar o Java ja estou ficando sem opções
M
Mendes_Hemerson
relaxa, n eh insistencia, eh conferir, msm pq as vezes olho rapido pq to meio enrolado no trampo