Olá a todos.
Estou tentando fazer uma aplicação que consiste em um formulário simples e quando clico em enviar, envia os dados para um determinado email. Acho que estou fazendo algo de errado pois me da um erro na hora que executo. Alguém poderia me ajudar nisto?
Ai estão os códigos.
Arquivo: form_inscr.jsp
<html:html>
<head>
<title>FORM TESTE</title>
</head>
<html:errors/>
<html:form action="/inscricao" focus="inscricao.nome">
Nome Completo:
<html:text property="inscricao.nome"/>
<br/>
<html:submit>Enviar dados</html:submit>
<br/>
</html:form>
</html:html>
Arquivo: InscricaoForm.java
imports
public class InscricaoForm extends ActionForm {
/**
*
*/
private static final long serialVersionUID = 1L;
private Inscricao inscricao = new Inscricao();
public Inscricao getInscricao() {
return inscricao;
}
public void setInscricao(Inscricao inscricao) {
this.inscricao = inscricao;
}
}
Arquivo: InscricaoAction.java
imports
public class InscricaoAction extends Action {
public ActionForward execute(ActionMapping map, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
InscricaoForm formulario = ((InscricaoForm) form);
Inscricao inscricao = formulario.getInscricao();
EnviaEmail enviaemail = new EnviaEmail();
enviaemail.processaEmail(inscricao);
return map.findForward("sucesso");
}
}
Arquivo: EnviaEmail.java
public class EnviaEmail {
String emailDestinatario="xxxxxxx";
String nomeDestinatario="xxxxxxx";
String emailRemetente="xxxxxxxxxxxx@xxx.com.br";
String nomeRemetente="xxxxxxx";
String assuntoEmail="Teste de email com Java";
Inscricao corpoEmail;
public void processaEmail(Inscricao inscricao) throws Exception{
inscricao=this.corpoEmail;
enviarEmail(emailDestinatario, nomeDestinatario, emailRemetente, nomeRemetente, assuntoEmail, corpoEmail);
}
public static void enviarEmail(String emailDest, String nomeDest, String emailRemet, String nomeRemet, String assunto, Inscricao corpo) throws Exception {
Properties props = System.getProperties();
props.put("mail.smtp.host", "endereco_smtp");
props.put("mail.smtp.auth", "true");
Authenticator auth = new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("conta", "senha");
}
};
Session session = Session.getInstance(props, auth);
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(emailRemet, nomeRemet));
message.addRecipient(Message.RecipientType.TO,
new InternetAddress(emailDest, nomeDest));
message.setSubject(assunto);
message.setContent(corpo, "text/plain");
Transport.send(message);
System.out.println("Mensagem enviada com sucesso.");
}
}
Este é o erro:
java.lang.NullPointerException
com.sun.mail.handlers.text_plain.writeTo(text_plain.java:140)
Obrigado.
Everton