Bom gente estou querendo mandar e-mail com java… Eu tenhu uma conta no www.myjavaserver.com e estou querendo mandar e-mails por um JSP ou Servlet (Servlet de preferência) e estou com dificuldades quando pego algum exemplo, porque naum tem nem autenticação… e fiquei sem entender…
Resumindo, se alguém tem experiência com JavaMail e tem algum código, de preferência que já tenha usado no myjavaserver, pesso q me envie, ou melhor, poste aki pra galera poder peguar tmb…
Olá amigo,
segue o código que fiz para envio de email, não usei autenticação, testei usando o smtp da empresa, mas que eu me lembre eu tentei alguns que precisam de autenticação e deu certo, faça o teste ok.
packageemail;importjava.util.Properties;importjavax.mail.*;importjavax.mail.internet.*;importjava.io.*;importjavax.servlet.*;importjavax.servlet.http.*;publicclassEmailextendsHttpServlet{publicvoiddoGet(HttpServletRequestreq,HttpServletResponseres)throwsServletException,IOException{PrintWriterout=res.getWriter();res.setContentType("text/html");try{Stringto=req.getParameter("to");Stringfrom="[email removido]";Propertiesprops=newProperties();props.put("mail.smtp.host","smtp.seudominio.com.br");Sessionsession=Session.getInstance(props,null);MimeMessagemessage=newMimeMessage(session);message.setFrom(newInternetAddress(from));AddresstoAddress=newInternetAddress(to);message.addRecipient(Message.RecipientType.TO,toAddress);message.setSubject("teste de envio de e-mails");message.setContent("este eh um teste de envio","text/plain");Transport.send(message);out.println("E-mail enviado ");}catch(MessagingExceptione){out.println("Email nao pode ser enviado! "+e.getMessage());}}}
Eu copiei apenas do primeiro que fiz, o método ainda está Get, pois estava fazendo testes e é mais rápido de passar parametro, imagino que você vai precisar Post, é só fazer a troca, para usar o Get você pode fazer isso:
publicclassEnviaEmail{publicvoidsend(StringsmtpHost,StringsmtpPort,StringsmtpUser,StringpassWord,Stringfrom,String[]to,Stringsubject,Stringcontent,File[]attachsFile)throwsSacException{try{//Create a mail sessionPropertiesprops=newProperties();props.put("mail.smtp.host",smtpHost);props.put("mail.smtp.port",""+smtpPort);props.put("mail.smtp.auth","true");Authenticatorauth=newSMTPAuthenticator(smtpUser,passWord);//Session session = Session.getDefaultInstance(props, auth);Sessionsession=Session.getInstance(props,auth);// Construct the messageMessagemsg=newMimeMessage(session);msg.setSentDate(newDate());msg.setFrom(newInternetAddress(from));InternetAddress[]addressTo=newInternetAddress[to.length];for(inti=0;i<to.length;i++){addressTo[i]=newInternetAddress(to[i]);}msg.setRecipients(Message.RecipientType.TO,addressTo);msg.setSubject(subject);msg.setHeader("Disposition-Notification-To",from);// create the message part MimeBodyPartmessageBodyPart=newMimeBodyPart();//fill messagemessageBodyPart.setContent(content,"text/plain");Multipartmultipart=newMimeMultipart();multipart.addBodyPart(messageBodyPart);if(attachsFile!=null&&attachsFile[0]!=null){for(inti=0;i<attachsFile.length;i++){messageBodyPart=newMimeBodyPart();DataSourcesource=null;source=newFileDataSource(attachsFile[i]);messageBodyPart.setDataHandler(newDataHandler(source));messageBodyPart.setFileName(source.getName());multipart.addBodyPart(messageBodyPart);}}//set the contentmsg.setContent(multipart);// Send the messageTransport.send(msg);}catch(Exceptione){e.printStackTrace();//throw new SacException();}}}