Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Can';t向SMTP主机发送命令_Java_Email_Smtp - Fatal编程技术网

Java Can';t向SMTP主机发送命令

Java Can';t向SMTP主机发送命令,java,email,smtp,Java,Email,Smtp,我无法发送邮件。我试过多种方法。但我还是有例外。我正在粘贴stacktrace和我的代码。先谢谢你。 我正在从rest-ful api发送测试邮件。 这是我的邮政编码 @Controller public class TestSendMail { @RequestMapping(value = "Customer/mailcheck.htm") @ResponseBody public String testMail(HttpServletRequest request

我无法发送邮件。我试过多种方法。但我还是有例外。我正在粘贴stacktrace和我的代码。先谢谢你。 我正在从rest-ful api发送测试邮件。 这是我的邮政编码

@Controller
public class TestSendMail {

    @RequestMapping(value = "Customer/mailcheck.htm")
    @ResponseBody
    public String testMail(HttpServletRequest request) throws Exception, JSONException {

        String to = "shah201999@gmail.com";
        JSONArray jsonarray = new JSONArray();
        JSONObject jsonObject = new JSONObject();
        final String from = "skent.qc@gmail.com";
        final String password = "12345";//change accordingly
        String host = "smtp.gmail.com";

        Properties props = new Properties();
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.host", host);
        props.put("mail.smtp.port", "25");
        Session session = Session.getInstance(props,
                new javax.mail.Authenticator() {
                    protected PasswordAuthentication getPasswordAuthentication() {
                        return new PasswordAuthentication(from, password);
                    }
                });
        try {
            Message message = new MimeMessage(session);
            message.setFrom(new InternetAddress(from));
            message.setRecipients(Message.RecipientType.TO,
                    InternetAddress.parse(to));
            message.setSubject("Testing Subject");

            // Now set the actual message
            message.setText("Sent by ashish shah from live , this is sample for to check send " +
                    "email using JavaMailAPI ");
            Transport.send(message);
            jsonObject.put("Status", "Success");

            System.out.println("Sent message successfully....");

        } catch (MessagingException e) {
            jsonObject.put("Status", "Error" + e);
            throw new RuntimeException(e);
        }
        jsonarray.put(jsonObject);
        return jsonarray.toString();
    }
}
这是stackTrace

严重:路径为的上下文中Servlet[dispatcher]的Servlet.service() [/HomZservice]引发异常[请求处理失败;嵌套异常 is java.lang.RuntimeException:javax.mail.MessaginException:无法发送
命令发送到SMTP主机; 嵌套异常是: javax.net.ssl.SSLHandshakeException:远程主机在
握手]根本原因 java.io.EOFException:SSL对等端错误关闭 位于sun.security.ssl.InputRecord.read(未知源) 位于sun.security.ssl.SSLSocketImpl.readRecord(未知源) 位于sun.security.ssl.SSLSocketImpl.performInitialHandshake(未知源) 位于sun.security.ssl.SSLSocketImpl.writeRecord(未知源) 位于sun.security.ssl.AppOutputStream.write(未知源) 在com.sun.mail.util.TraceOutputStream.write(TraceOutputStream.java:101)上 位于java.io.BufferedOutputStream.flushBuffer(未知源) 位于java.io.BufferedOutputStream.flush(未知源) 在com.sun.mail.smtp.SMTPTransport.sendCommand上(SMTPTransport.java:1418) 在com.sun.mail.smtp.SMTPTransport.sendCommand上(SMTPTransport.java:1408) 在com.sun.mail.smtp.SMTPTransport.ehlo(SMTPTransport.java:847) 在com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:384)上 在javax.mail.Service.connect(Service.java:297) 在javax.mail.Service.connect(Service.java:156) 在javax.mail.Service.connect(Service.java:105) 位于javax.mail.Transport.send0(Transport.java:168) 在javax.mail.Transport.send(Transport.java:98) 在
com.houzservice.admin.controller.TestSendMail.testMail(TestSendMail.java:78) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 位于sun.reflect.NativeMethodAccessorImpl.invoke(未知源) 在sun.reflect.DelegatingMethodAccessorImpl.invoke处(未知源) 位于java.lang.reflect.Method.invoke(未知源) 位于org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doInvokeMethod(HandlerMethodInvoker.java:710) 位于org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:167) 位于org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:414) 位于org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:402) 位于org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:771) 位于org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716) 位于org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647) 位于org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:563) 位于javax.servlet.http.HttpServlet.service(HttpServlet.java:650) 位于javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) 位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 位于org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) 位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) 位于org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) 位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) 位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 位于org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) 位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) 位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423) 位于org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079) 位于org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) 位于org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) 位于java.util.concurrent.ThreadPoolExecutor.runWorker(未知源) 位于java.util.concurrent.ThreadPoolExecutor$Worker.run(未知源) 位于org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 位于java.lang.Thread.run(未知源)


谷歌为smtp.gmail.com设置,它不使用端口25谢谢,但我也检查了587。还是有例外。Nambari576是tls try 465,SSL感谢您的回复@Alex K.但我想通过SMTP及其端口587或25发送。。因此,我必须为ssl设置465端口。请引导。不,它的端口不是25:参见