Ola pessoal tudo bem?
Estou precisando de ajuda.
Estou começando a aprender programação java para web.
escrevi um formulario simples somente para tentar aprender como funciona o envio de email usando a API JavaMail.
Utilizei um código que encontrei na internet, em um tutorial sobre javaMail. Porem nao estou tento muito sucesso ao utiliza-lo
Sera que alguem poderia me auxiliar?
public class Email {
//Método que envia o email
public static void enviaEmail( String remetente, String destinatario, String assunto, String mensagem){
Session session = Session.getDefaultInstance(getPropriedades(), getAuthenticator());
try {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(remetente)); //Seta o remetente
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(destinatario)); //Define o destinatário
message.setSubject(assunto); //Define o assunto
message.setText(mensagem); //Mensagem do email
Transport.send(message); //Envia o email
} catch (MessagingException e) {
throw new RuntimeException(e);
}
}
//Método que retorna a autenticação de sua conta de email
public static Authenticator getAuthenticator(){
Authenticator autenticacao = new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
//Preencha com seu email e com sua senha
return new PasswordAuthentication("email", "senha");
}
};
return autenticacao;
}
//Método que retorna as propriedades de configuração do servidor de email
public static Properties getPropriedades(){
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.gmail.com"); //SMTP do seu servidor de email
props.put("mail.smtp.socketFactory.port", "465"); //Porta do servidor smtp
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); //Define a conexão do tipo SSL
props.put("mail.smtp.auth", "true"); //Define que é necessário autenticação
props.put("mail.smtp.port", "465"); //Porta do seu servidor smtp
return props;
}
}
Servlet:
public class OrcamentoServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public OrcamentoServlet() {
super();
// TODO Auto-generated constructor stub
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String destinatario = "[email removido]";
String assunto = "Orçamento";
String nome= request.getParameter("nome");
String empresa = request.getParameter("empresa");
String email = request.getParameter("email");
String mensagem = request.getParameter("mensagem");
String mensagem_2 = nome +"\n\n"+empresa+"\n\n"+mensagem;
try {
new Email().enviaEmail(email,destinatario,assunto, mensagem_2);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.print("Email-> Enviado com sucesso");
}
}
JSP:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Faça Seu Orçamento</title>
</head>
<body>
<form action="orcamento" method="post">
Nome: <input type="text" name="nome" /><br />
Empresa:<input type="text" name="empresa" /><br />
Email:<input type="text" name="email" /><br />
<textarea name="mensagem">Escreva Sua Mensagem</textarea>
<input type="submit" value="Gravar" />
</form>
</body>
</html>
Eu nao entendi muito bem essa parte da autorização. O que eu quero fazer é simplesmente encaminhar o conteudo do formulario para um email. Caso encontrem algum erro nesse codigo por favor me corrijam 
Obrigado