fiz uma pagina de contatos onde mando os dados serem gravado em um banco de dados… como faco para mandar um e-mail depois disso???
ou se tem outro jeito!!!
fernando
fiz uma pagina de contatos onde mando os dados serem gravado em um banco de dados… como faco para mandar um e-mail depois disso???
ou se tem outro jeito!!!
fernando
Utilize o pacote javax.mail
http://java.sun.com/javaee/5/docs/api/javax/mail/package-summary.html
Tem um tutorial do Paulo excelente aqui no GUJ!
Usei ele ontem e foi só dar um CTRL+C - CTRL+V
quer dizer, quase isso, pq no exemplo dele não usava autenticação e eu tive que usar, mas mudou pouca coisa, se precisar eu te mando como faz pra mandar e-mail tendo que autenticar o usuário.
cara se vc puder me ajudar nisso ficaria muito grato contigo…
tentei esse codigo aqui:
Properties props = new Properties();
props.put("pop.mastersd.net", "smtp.mastersd.net");
Session s = Session.getInstance(props,null);
MimeMessage message = new MimeMessage(s);
InternetAddress from = new InternetAddress("[email removido]");
message.setFrom(from);
InternetAddress to = new InternetAddress("[email removido]");
message.addRecipient(Message.RecipientType.TO, to);
message.setSubject("E-Mail enviado a partir do JavaMail.");
message.setText("Este é o texto da mensagem enviada através do JavaMail!");
Transport.send(message);
mas ta me retornando uma erro nessa linha:
MimeMessage message = new MimeMessage(s);
meu MSN: febeckers@hotmail e SKIPE: febeckers
se vc pouder me ajudar ou me indicar esse tutorial… eu ficaria muito feliz… hehe
Qual exception que ele retorna?
esse aqui:
exception
org.apache.jasper.JasperException: Exception in JSP: /Contato.jsp:139
136: Properties props = new Properties();
137: props.put("pop.mastersd.net", "smtp.mastersd.net");
138: Session s = Session.getInstance(props,null);
139: MimeMessage message = new MimeMessage(s);
140: InternetAddress from = new InternetAddress("[email removido]");
141: message.setFrom(from);
142: InternetAddress to = new InternetAddress("[email removido]");
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause
javax.servlet.ServletException: javax/activation/DataSource
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:858)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
org.apache.jsp.Contato_jsp._jspService(Contato_jsp.java:225)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause
java.lang.NoClassDefFoundError: javax/activation/DataSource
org.apache.jsp.Contato_jsp._jspService(Contato_jsp.java:204)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
cara tem um jar mail so seria isso???
se nao for onde baixo as certas pois procurei por java mail e achei apenas um arquivo zipado… java mail 1.4…
O tutorial é este aqui: http://www.guj.com.br/java.tutorial.artigo.21.1.guj
Pelo seu erro parece que vc não importou o mail.jar. Você colocou ele na sua pasta lib?
Vc esta utilizando javax.activation.DataSource por qual motivo?
Ele não achou essa classe javax.activation.DataSource , faltou a biblioteca mail.jar na lib do seu projeto
baixei as duas biblioteacas, mail.jar e jaf
me deu o seguinte erro:
exception
org.apache.jasper.JasperException: Could not connect to SMTP host: localhost, port: 25
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause
javax.servlet.ServletException: Could not connect to SMTP host: localhost, port: 25
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:858)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
org.apache.jsp.Contato_jsp._jspService(Contato_jsp.java:225)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause
javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25;
nested exception is:
java.net.ConnectException: Connection refused: connect
com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1282)
com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:370)
javax.mail.Service.connect(Service.java:275)
javax.mail.Service.connect(Service.java:156)
javax.mail.Service.connect(Service.java:105)
javax.mail.Transport.send0(Transport.java:168)
javax.mail.Transport.send(Transport.java:98)
org.apache.jsp.Contato_jsp._jspService(Contato_jsp.java:211)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
Vc esta utilizando javax.activation.DataSource por qual motivo?
Ele não achou essa classe javax.activation.DataSource , faltou a biblioteca mail.jar na lib do seu projeto
tche!!! nao te entendi… eu to tentando fazer… com a juda de vcs… esse codigo veio na documentacao do java mail…
Uma pergunta meio boba, mas tens um servidor de email em sua máquina? Por exemplo o sendmail.
Até!
aos trancos e barrancos eu vo indo…
deu esse erro:
Invalid Addresses
endereco invalidao seria isso
mas qual endereco??
Se o seu servidor de e-mail estiver de pé, então é provável que vc precise criar uma conexão autenticada para conseguir mandar o e-mail.
Se for isso, pra mandar e-mail vc precisa desse código:
Transport tr = _mailSession.getTransport("smtp");
tr.connect(_mailhost, _mailuser, password);
msg.saveChanges();
tr.sendMessage(msg, msg.getAllRecipients());
tr.close();
e precisa adicionar essas duas linhas no seu properties:
p.put("mail.user", _mailuser);
p.put("mail.smtp.auth", "true");
Uma pergunta meio boba, mas tens um servidor de email em sua máquina? Por exemplo o sendmail.Até!
outlook serve configurado como padrao smtp.mastersd.net, seria isso?
te mais
Uma pergunta meio boba, mas tens um servidor de email em sua máquina? Por exemplo o sendmail.Até!
outlook serve configurado como padrao smtp.mastersd.net, seria isso?
te mais
Não!! hehehe
mas na verdade esquece essa pergunta, pq vc tah se conectando em um servidor de e-mail…não tah usando um servidor local próprio…
ta blz…e o que seria o erro: Invalid Addresses
endereço invalido!! o endereço existe mesmo?
pois entao e isso que esou perguntando… qual endereço???
de quem ta mandando de quem recebe ou o meu smtp???
ñ tenho certeza!!! acho que apenas o de destino!
mas eu tenho certeza que ele valida o de destino!
uma vez eu fiz um teste com um destino incorreto deu erro… por isso tenho certeza!
cara tenho certeza de que o SMTP o que envia e o de destino estao corretos…
ah uma coisa esse codigo que eu fiz nao requer atutencitacao??? (senha) e o meu smtp achu que precisa???
eu mudo alguma coisa no codigo???
cara tenho certeza de que o SMTP o que envia e o de destino estao corretos…ah uma coisa esse codigo que eu fiz nao requer atutencitacao??? (senha) e o meu smtp achu que precisa???
eu mudo alguma coisa no codigo???
eu jah coloquei o código que vc precisa mudar umas msgs acima!
eu jah coloquei o código que vc precisa mudar umas msgs acima!
Cara me desculpa nao tinha visto… desculpa mesmo…
tem como vc me explicar o que eu mudo daquele codigo… pois nao consegui fazer me deu um montao de erro aqui…
e me responde mais uma coisa se meu e-mail nao fosse autenticado ira ter funcionado daquele jeito antes???
brigadao pela forca
mas é so erro de sintaxe cannot simbol… he he
_mailuser
msg.saveChanges();
passoword
tem que criar essas variaveis? se sao variaveis? a questao eh… ele nao esta encontrando essas variaves…
eu jah coloquei o código que vc precisa mudar umas msgs acima!
Cara me desculpa nao tinha visto… desculpa mesmo…
tem como vc me explicar o que eu mudo daquele codigo… pois nao consegui fazer me deu um montao de erro aqui…
e me responde mais uma coisa se meu e-mail nao fosse autenticado ira ter funcionado daquele jeito antes???
brigadao pela forca
Sem problemas cara!
Então, se não fosse autenticado iria funcionar daquela forma sim.
Então, pra fazer aquele código que eu mandei funcionar, vc comenta a sua linha que você tah chamando o método Transport.send() e coloca o seguinte código no lugar:
Transport tr = SESSION.getTransport("smtp");
tr.connect(_mailhost, _mailuser, password);
msg.saveChanges();
tr.sendMessage(msg, msg.getAllRecipients());
tr.close();
Você precisa substituir SESSION pelo nome da variável que vc usou para armazenar a sessão(Session).
Precisa substituir _mailhost, _mailuser, password pelos valores correspodentes do seu servidor.
Ve se vc usou o nome “msg” tbm para armazenar seu MimeMessage.
E adiciona aquelas outras 2 linhas no properties tbm! Não esquecendo de acertar os valores
Feito essas substituições…deve funcionar. Lembrando qeu agora nesse caso, o e-mail de envio deve ser um endereço válido!
mas é so erro de sintaxe cannot simbol… he he_mailuser
msg.saveChanges();
passowordtem que criar essas variaveis? se sao variaveis? a questao eh… ele nao esta encontrando essas variaves…
_mailuser = você troca pelo seu endereço de e-mail "[email removido]"
msg.saveChanges(); = msg deve ser substituido pelo nome que vc deu pra referência ao seu MimeMessage
passoword = troca pela sua senha “XXXXX”
cara a ultima pergunta… o resto deu certo
Precisa substituir _mailhost, _mailuser, password pelos valores correspodentes do seu servidor.
_mailuser = Usuario
passoword = senha
-mailthost??? o que seria??
o endereço do servidor, aquele: “smtp.masterbbb.com”
Cara funcionou certinhu!!!
muito obrigado pela paciência e pela ajuda!!!
valeu to devendo uma qq coisa e so da um grito!!!
abraco!!!
Cara funcionou certinhu!!!
muito obrigado pela paciência e pela ajuda!!!
valeu to devendo uma qq coisa e so da um grito!!!abraco!!!
hahaha…qué isso cara…o forum é pra essas coisas mesmo!
Eu tava sabendo bem isso pq tive que fazer isso ontem a noite! E tive esses mesmos problemas que vc teve! 