Java发送电子邮件:smtp.gmail.com错误

Java发送电子邮件:smtp.gmail.com错误,java,gmail,Java,Gmail,我有以下java代码来发送电子邮件: Properties props = new Properties(); props.put("mail.smtp.host", "smtp.gmail.com"); props.put("mail.smtp.socketFactory.port", "465"); props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); props.put("mail.sm

我有以下java代码来发送电子邮件:

Properties props = new Properties();

props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "465");

Session session = Session.getDefaultInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() 
{
return new PasswordAuthentication("erjobertolazo@gmail.com", "mypassword");
}
});

try {

Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("erjobertolazo@gmail.com"));

Address[] toUser = InternetAddress 
.parse("Recipient1@gmail.com, Recipient2@hotmail.com, Recipient3@yahoo.com.br");  
message.setRecipients(Message.RecipientType.TO, toUser);
message.setSubject("TEST SEND EMAIL");//Assunto
message.setText("THIS IS JUST A TEST!");

Transport.send(message);
我收到以下错误消息:

javax.servlet.ServletException:控制器引发异常 br.com.caelum.vraptor.vraptor.doFilter(vraptor.java:103)根本原因

org.apache.commons.mail.EmailException:将电子邮件发送到 以下服务器失败:smtp.gmail.com:465 org.apache.commons.mail.Email.sendMimeMessage(Email.java:1410) org.apache.commons.mail.Email.send(Email.java:1437) br.com.corpcontrol.controller.usuariscontroller.testemailb(usuariscontroller.java:245) sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) invoke(NativeMethodAccessorImpl.java:57) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.lang.reflect.Method.invoke(Method.java:606) br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:61) br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61) br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56) br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56) br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) br.com.caelum.vraptor.interceptor.instanceInterceptor.intercept(instanceInterceptor.java:48) br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:67) br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:83) br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61) br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:69) br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56) br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) br.com.caelum.vraptor.core.EnhancedRequestExecution.execute(EnhancedRequestExecution.java:44) br.com.caelum.vraptor.vraptor$1.insideRequest(vraptor.java:93) br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:58) br.com.caelum.vraptor.vraptor.doFilter(vraptor.java:99)根本原因

有人知道我怎么做? 可以与其他电子邮件服务器连接。谢谢你的建议

  • 确保未启用“双因素身份验证”
  • 导航到“”,然后打开“访问不太安全的应用”
  • 确保未启用“双因素身份验证”
  • 导航到“”,然后打开“访问不太安全的应用”

  • 你能否提供更详细的异常堆栈跟踪,以了解发生了什么?@YaroslavBoichuk,我编辑了这个问题,现在有完整的异常堆栈跟踪。你是否允许不太安全的应用程序访问你的gmail帐户@EduwHS,不,我没有那样做,我现在就试试!感谢您提供更详细的异常堆栈跟踪,以了解发生了什么?@YaroslavBoichuk,我编辑了这个问题,现在有完整的异常堆栈跟踪。您是否允许不太安全的应用程序访问您的gmail帐户@EduwHS,不,我没有那样做,我现在就试试!谢谢