I have a problem with sending emails from my web application with spring web mvc This is my code, it would be very helpful for someone to give me an answer, thank you in advance.
Log-File:
StandardWrapperValve[dispatcher]: Servlet.service() for servlet dispatcher threw exception
java.lang.NullPointerException at controller.AddController.enviarCorreo (AddController.java:127) at controller.AddController.form (AddController.java:113) at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke (Method.java:498) at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod (HandlerMethodInvoker.java:175) at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod (AnnotationMethodHandlerAdapter.java:446) at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle (AnnotationMethodHandlerAdapter.java:434) at org.springframework.web.servlet.DispatcherServlet.doDispatch (DispatcherServlet.java:945) at org.springframework.web.servlet.DispatcherServlet.doService (DispatcherServlet.java:876) at org.springframework.web.servlet.FrameworkServlet.processRequest (FrameworkServlet.java:961) at org.springframework.web.servlet.FrameworkServlet.doPost (FrameworkServlet.java:863) at javax.servlet.http.HttpServlet.service (HttpServlet.java:707) at org.springframework.web.servlet.FrameworkServlet.service (FrameworkServlet.java:837) at javax.servlet.http.HttpServlet.service (HttpServlet.java:790) at org.apache.catalina.core.StandardWrapper.service (StandardWrapper.java:1682) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:344) at org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:214) at org.glassfish.tyrus.servlet.TyrusServletFilter.doFilter (TyrusServletFilter.java:305) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:256) at org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:214) at org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:316) at org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:160) at org.apache.catalina.core.StandardPipeline.doInvoke (StandardPipeline.java:734) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:673) at com.sun.enterprise.web.WebPipeline.invoke (WebPipeline.java:99) at org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:174) at org.apache.catalina.connector.CoyoteAdapter.doService (CoyoteAdapter.java:416)
Source code:
package ejb;
import java.util.Properties;
import javax.ejb.Stateless;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
@Stateless
public class MailSenderBean {
public void sendEmail(String fromEmail, String username, String password, String toEmail, String subject, String message) throws AddressException, MessagingException{
Properties props = System.getProperties();
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "465");
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.socketFactory.fsslback", "false");
Session mailSession = Session.getDefaultInstance(props, null);
mailSession.setDebug(true);
Message mailMessage = new MimeMessage(mailSession);
mailMessage.setFrom(new InternetAddress(fromEmail));
mailMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(toEmail));
mailMessage.setText(message);
mailMessage.setSubject(subject);
Transport transport = mailSession.getTransport("smtp");
transport.connect("smtp.gmail.com", fromEmail, password);
transport.sendMessage(mailMessage, mailMessage.getAllRecipients());
}
}
public void enviarCorreo(int id_requesi, String[] para, int id_usuario){
String email = "???";
String username = "???";
String password = "???";
try {
mailSender.sendEmail(email, username, password, "[email protected]", "hola", "hola");
} catch (MessagingException ex) {
Logger.getLogger(AddController.class.getName()).log(Level.SEVERE, null, ex);
}
}