Мне нужно получить почту Zoho с помощью Java. Я включил IMAP в настройках почты Zoho, но получаю сообщение об ошибке «javax.mail.MessagingException: время ожидания подключения истекло» в следующем коде.
public class Mail {
public static void main(String[] args) {
try {
final Properties props = new Properties();
MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
props.setProperty("mail.store.protocol", "imaps");
props.setProperty("mail.imaps.port", "993");
props.setProperty("mail.imaps.connectiontimeout", "5000");
props.setProperty("mail.imaps.timeout", "5000");
props.setProperty("mail.imaps.auth", "true");
props.setProperty("mail.debug", "true");
Session session = Session.getInstance(props, null);
session.setDebug(true);
Store store = session.getStore();
store.connect("imap.zoho.in", "*@zohomail.in", "****");
Folder inbox = store.getFolder("INBOX");
inbox.open(Folder.READ_ONLY);
Message msg = inbox.getMessage(inbox.getMessageCount());
Address[] in = msg.getFrom();
for (Address address : in) {
System.out.println("FROM:" + address.toString());
}
Multipart mp = (Multipart) msg.getContent();
BodyPart bp = mp.getBodyPart(0);
System.out.println("SENT DATE:" + msg.getSentDate());
System.out.println("SUBJECT:" + msg.getSubject());
System.out.println("CONTENT:" + bp.getContent());
} catch (Exception mex) {
mex.printStackTrace();
}
}
}
Ошибка:
DEBUG: trying to connect to host "imap.zoho.in", port 993, isSSL true
javax.mail.MessagingException: Connect timed out;
nested exception is:
java.net.SocketTimeoutException: Connect timed out
at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:611)
at javax.mail.Service.connect(Service.java:291)
at javax.mail.Service.connect(Service.java:172)
at Mail.main(Mail.java:86)
Caused by: java.net.SocketTimeoutException: Connect timed out
at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:546)
at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:597)
at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)
at java.base/java.net.Socket.connect(Socket.java:633)
at java.base/sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:304)
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:265)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:227)
at com.sun.mail.iap.Protocol.<init>(Protocol.java:107)
at com.sun.mail.imap.protocol.IMAPProtocol.<init>(IMAPProtocol.java:103)
at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:578)
... 3 more
Я отключил все брандмауэры в панели управления ..... все равно выдает ошибку!
Я бы проконсультировался с Zoho или их сообществом поддержки. Если бы ваш код был неправильным, он, вероятно, потерпел бы неудачу.
Было бы хорошо узнать решение .... спасибо
Моя система была подключена к офисной сети Wi-Fi. Поэтому брандмауэр не позволял мне подключиться к порту. Когда я переключаю свою сеть Wi-Fi, программа работает отлично!
Брандмауэр на стороне клиента?