当前位置: 首页 > 知识库问答 >
问题:

"java.net.connection异常"表示连接被拒绝

令狐灿
2023-03-14

我正在尝试使用java邮件api,并且在servlet中有以下代码用于sen mail。我找不到解决错误的方法。

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        // Recipient's email ID needs to be mentioned.
          String to = "xyz@gmail.com";

          // Sender's email ID needs to be mentioned
          String from = "abc.com";

          // Assuming you are sending email from localhost
          String host = "localhost";

          // Get system properties
          Properties properties = System.getProperties();

          // Setup mail server
          properties.setProperty("mail.smtp.host", host);

          // Get the default Session object.
          Session session = Session.getDefaultInstance(properties);

          // Set response content type
          response.setContentType("text/html");
          PrintWriter out = response.getWriter();

          try{
             // Create a default MimeMessage object.
             MimeMessage message = new MimeMessage(session);
             // Set From: header field of the header.
             message.setFrom(new InternetAddress(from));
             // Set To: header field of the header.
             message.addRecipient(Message.RecipientType.TO,
                                      new InternetAddress(to));
             // Set Subject: header field
             String subject=request.getParameter("subject");
             String content=request.getParameter("mail");


             message.setSubject(subject);
             // Now set the actual message
             message.setText(content);
             // Send message
             Transport.send(message);
             String title = "Send Email";
             String res = "Sent message successfully....";
             String docType =
             "<!doctype html public \"-//w3c//dtd html 4.0 " +
             "transitional//en\">\n";
             out.println(docType +
             "<html>\n" +
             "<head><title>" + title + "</title></head>\n" +
             "<body bgcolor=\"#f0f0f0\">\n" +
             "<h1 align=\"center\">" + title + "</h1>\n" +
             "<p align=\"center\">" + res + "</p>\n" +
             "</body></html>");
          }catch (MessagingException mex) {
             mex.printStackTrace();
          }

    }

我的控制台中出现以下错误:

原因:java.net.ConnectException:连接被拒绝:java.net.DualStackPlainSocketImpl.connect0(本机方法)java.net.DualStackPlainSocketImpl.socketConnect(未知源)java.net.AbstractPlainSocketImpl.doConnect(未知源)java.net.AbstractPlainSocketImpl.connectToAddress(未知源)在java.net.socksocketimpl.connect(未知源代码)在java.net.PlainSocketImpl.connect(未知源代码)在java.net.Socket.connect(未知源代码)在java.net.Socket.connect(未知源代码)在com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:312)在java.net.net.Socket.SocketFetcher.connect(未知源代码)在java.com.sun.mail.util.SocketFetcher.com.com在com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:236)在com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2019)。。。还有29个

共有2个答案

蔡晨
2023-03-14

您需要在本地邮箱上安装smtp服务器或使用一些现有的smtp服务器(如yahoo、gmail等。您可以在internet上获得smtp设置)。您可以使用ApacheJames服务器并了解邮件发送api。

濮泳
2023-03-14

您没有在localhost上运行SMTP服务器,您正在告诉API使用localhost作为邮件服务器。

您需要安装本地SMTP服务器,或将SMTP主机名设置为您有权访问的服务器,例如:

      String host = "smtp.yourisp.com"; // real server name required here

      // Get system properties
      Properties properties = System.getProperties();

      // Setup mail server
      properties.setProperty("mail.smtp.host", host);
 类似资料:
  • 我正在使用Spring 5网络流量、SpringBoot 2和Reactive MongoDB构建一个POC。在使用maven插件构建项目时,我得到了如下错误MongoDB连接错误:- 以下是我的申请表。属性文件:- 波姆。xml:- 请告知这里可能存在什么问题?我是否需要在我的机器上显式安装MongoDB并在运行此项目之前运行它。我相信MongoDB实例将自行运行,因为SpringBoot将在运

  • 请帮帮我.我使用mongo DB从一个应用程序很长一段时间。该应用程序处于开发模式。有时我看到这个错误 Error-无法调用该操作,最终得到一个错误:org.springframework.dao.DataAccessResourceFailureException:在等待连接10000 ms后超时。群集状态的客户端视图为{type=unknown,servers=[{address=localh

  • 问题内容: 我怎样才能捕捉到异常? 问题答案: 通过捕获 所有 异常,并在属性不等于111的情况下重新引发它。或者,更好的是,使用常量代替:

  • 我正在尝试使用java mail api,并在我的servlet中使用以下代码发送邮件,但我无法找到解决该错误的方法。 控制台中出现以下错误: 原因:java.net.ConnectException:连接被拒绝:connect at java.net.DualStackPlainsockeTimpl.Connect0(本机方法)at java.net.DualStackPlainsockeTim

  • 当我在配置单元中运行以下查询时: 这怎么解决呢? 谢谢

  • 我正在尝试通过我的android应用程序使用smack库连接到openfire服务器。当我连接到服务器时,它给我和错误 以下地址失败:“192.168.0.31:5222”失败,因为java.net.SocketException:套接字失败:EACCES(拒绝权限) 从我的登录活动调用SmackConnection.init(用户,密码);它给出java.net.SocketException权