Не удалось подключиться к SMTP-сокету Gmail с Java, но Telnet может достичь сокета - PullRequest
0 голосов
/ 05 июля 2019

Я пытаюсь получить доступ к сокету SMTP gmail с помощью smtp.gmail.com:587 или smtp.gmail.com:465, используя следующий код. Это дает мне «java.net.ConnectException: Соединение отказано: соединиться» ошибка. Когда я пытаюсь добраться до портов через клиент Telnet Windows. Клиент Telnet для Windows успешно подключен к сокету. Я запутался в этом. У вас есть идеи о причине?

Я пытался подключиться к Интернету двумя разными способами. Один из них - модем adsl, а другой - модем 4g. Оба они дают одинаковую ошибку

Заранее спасибо за помощь.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;

public class EchoClient {
    public static void main(String[] args) throws IOException {

        Socket pingSocket = null;
        PrintWriter out = null;
        BufferedReader in = null;

        try {
            pingSocket = new Socket("smtp.gmail.com", 465);
            out = new PrintWriter(pingSocket.getOutputStream(), true);
            in = new BufferedReader(new InputStreamReader(pingSocket.getInputStream()));
        } catch (IOException e) {
            e.printStackTrace();
            return;
        }

        out.println("ping");
        System.out.println(in.readLine());
        out.close();
        in.close();
        pingSocket.close();
    }
}
java.net.ConnectException: Connection refused: connect
    at java.base/java.net.PlainSocketImpl.connect0(Native Method)
    at java.base/java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:101)
    at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399)
    at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242)
    at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224)
    at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:403)
    at java.base/java.net.Socket.connect(Socket.java:591)
    at java.base/java.net.Socket.connect(Socket.java:540)
    at java.base/java.net.Socket.<init>(Socket.java:436)
    at java.base/java.net.Socket.<init>(Socket.java:213)
    at EchoClient.main(EchoClient.java:15)

windows telnet client

...