Olá.
Estou tentando fazer um formulário simples que ao clicar no botão “Envia Dados”, envie os dados no corpo de um email e estou tendo problemas. Alguém poderia me ajudar?
Ocorre o seguinte erro:
java.lang.NullPointerException
com.sun.mail.handlers.text_plain.writeTo(text_plain.java:140)
Seguem os códigos:
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;
}
}
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");
}
}
public class EnviaEmail {
String emailDestinatario="xxxxxxx";
String nomeDestinatario="xxxxxxx";
String emailRemetente="[email removido]";
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.");
}
}
Obrigado.
Everton