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
A
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?
A
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
A
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
A
aix
esta tudo correto, deveria fucnionar, estou pensando o que pode ser.
A
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
A
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
A
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.
A
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
A
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 “_”
A
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