JavaMail - Mailsabrufen Problem (imap)

Dave

Aktives Mitglied
Guten Tag,


ich bin grade dabei GWT zu üben und bastle an einem Mailprogramm so GWT macht mir da keine Schwierigkeiten genauso wie die Client/Server - Verbindung. Was jedoch rumzickt in das Verbinden auf den Mailserver. Ich bekomem da einen Timeout und weiss nicht warum, ich habe mir einige der Threads hier durchgelesen zu dem Thema aber keine Lösung gefunden :-/

So hier der Verbindungsaufbau:

Java:
private String imapHost = "imap.gmx.net";

public Store getConnectionStore() {
        Store store = null;
        try {
            // Get system properties
            Properties props = System.getProperties();
            // Mail-Server properties: Session verlangt die Informationen über Host, User, Passwd etc.
            props.setProperty("mail.imaps.host", imapHost);
            props.setProperty("mail.imaps.user", username);
            props.setProperty("mail.imaps.password", password);
            props.setProperty("mail.imaps.auth", "true");
            props.setProperty("mail.imaps.starttls.enable", "true");
            props.setProperty("mail.imaps.socketFactory.port", "993");
            props.setProperty("mail.imaps.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
            props.setProperty("mail.imaps.socketFactory.fallback", "false");
            
            // Initialisierung der Auth-Klasse zur Mail-Account-Authentisierung; in Session benutzt
            MailAuthenticator auth = new MailAuthenticator(username, password);

            // Session: steht für die Verbindung mit dem Mail-Server
            Session session = Session.getDefaultInstance(props, auth);
            // Gibt in der Console Debug-Meldungen zum Verlauf aus
            session.setDebug(true);
            boolean isSSL = true;
            // Store: dient dem zum Ablegen der Nachrichten
            store = isSSL ? session.getStore("imaps") : session.getStore("imap");
            store.connect();
        } catch (NoSuchProviderException e) {
            // TODO Auto-generated catch block
            System.err.println("##### - ConnectingMail(getConnectionStore - 1):");
            e.printStackTrace();
        } catch (MessagingException e) {
            // TODO Auto-generated catch block
            System.err.println("##### - ConnectingMail(getConnectionStore - 2):");
            e.printStackTrace();
        }

        return store;
    }



und folgendes schmeist die Console raus:

Code:
DEBUG: setDebug: JavaMail version 1.4.3
DEBUG: getProvider() returning javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc]
DEBUG: mail.imap.fetchsize: 16384
DEBUG: mail.imap.statuscachetimeout: 1000
DEBUG: mail.imap.appendbuffersize: -1
DEBUG: mail.imap.minidletime: 10
DEBUG: enable STARTTLS
DEBUG: protocolConnect returning false, host=imap.gmx.net, user=****, password=<null>
DEBUG: trying to connect to host "imap.gmx.net", port 993, isSSL true
javax.mail.MessagingException: Connection timed out: connect;
  nested exception is:
	java.net.ConnectException: Connection timed out: connect
##### - ConnectingMail(getConnectionStore - 2):
javax.mail.MessagingException: Connection timed out: connect;
  nested exception is:
	java.net.ConnectException: Connection timed out: connect
	at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:618)
	at javax.mail.Service.connect(Service.java:313)
	at javax.mail.Service.connect(Service.java:172)
	at javax.mail.Service.connect(Service.java:121)
	at de.echodave.gwt.List.server.mail.ConnectingMail.getConnectionStore(ConnectingMail.java:57)
	at de.echodave.gwt.List.server.AdressServiceImpl.getFolder(AdressServiceImpl.java:71)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:562)
	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:207)
	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:243)
	at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
	at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
	at org.mortbay.jetty.Server.handle(Server.java:324)
	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843)
	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647)
	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
Caused by: java.net.ConnectException: Connection timed out: connect
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
	at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
	at java.net.Socket.connect(Socket.java:525)
	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:550)
	at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:141)
	at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:284)
	at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:201)
	at com.sun.mail.iap.Protocol.<init>(Protocol.java:109)
	at com.sun.mail.imap.protocol.IMAPProtocol.<init>(IMAPProtocol.java:104)
	at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:585)
	... 32 more
##### - ConnectingMail(getFolders):
java.lang.IllegalStateException: Not connected
	at com.sun.mail.imap.IMAPStore.checkConnected(IMAPStore.java:1607)
	at com.sun.mail.imap.IMAPStore.getDefaultFolder(IMAPStore.java:1442)
	at de.echodave.gwt.List.server.mail.ConnectingMail.getFolders(ConnectingMail.java:188)
	at de.echodave.gwt.List.server.AdressServiceImpl.getFolder(AdressServiceImpl.java:74)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:562)
	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:207)
	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:243)
	at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
	at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
	at org.mortbay.jetty.Server.handle(Server.java:324)
	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843)
	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647)
	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
erfolgreich: getFolders

Hat jemand von euch eine Idee an was es liegt?

Danke :))
 

hansmueller

Bekanntes Mitglied
Hallo,

Ich habe zwar noch nie was mit imaps gemacht (sondern nur mit smtp) aber probier mal folgendes:
Kommentier bei dir die Zeile
Java:
 props.setProperty("mail.imaps.starttls.enable", "true");
aus und füge folgende Property hinzu:
Java:
props.put("mail.imaps.ssl.enable", "true");

MfG
hansmueller
 

AlexSpritze

Bekanntes Mitglied
Zu der Zeitüberschreitung deiner Verbindung kann ich nichts sagen. Bei mir im Code steht jedoch unabhängig der Variablen
Code:
isSSL
immer
Code:
"mail.imap.*"
bei den Properties. Kann mich da auch an ein paar Probleme erinnern. Versuch das mal ohne das s an imap.

Edit: Das timeout kannst du nebenbei gesagt mit
Code:
props.setProperty(("mail.imap.connectiontimeout", "120000");
einstellen. Wie lange dauert das Timeout bisher?
 
Zuletzt bearbeitet:

Dave

Aktives Mitglied
Beides probiert, beides bringt leider keinen Erfolg :(

Timeout war bis jetzt von mir nicht gesetzt worden also Default, waren gefühlte 10 Sekunden.


noch irgendwelche Vorschläge?
 

AlexSpritze

Bekanntes Mitglied
Ja, laut API gibt es das Property
Code:
props.setProperty("mail.imap*.password", password);
gar nicht.

Versuche anstatt der parameterlosen Methode
Code:
connect
,
Code:
connect(String host, int port, String user, String password)
. Keine Ahnung, was da der Unterschied sein soll, aber so steht es auch bei mir im Code ;)
 

Dave

Aktives Mitglied
Habe die Property auskommentiert und alle vier Varianten des Connects:
Code:
store.connect();
Code:
store.connect(username, password);
Code:
store.connect(host, username, password);
Code:
store.connect(host, port, username, password);

leider ohne Erfolg bleibt beim selben Fehler.
 

Dave

Aktives Mitglied
Ich versuche es mal mit pop3, sollte aber bei mir gehen da ich ein ProMail-Kunde bin.

Sorry für Doppelpost, konnte aber nicht mehr editieren.

Also ich habe es mit pop3 mit Propertys und ohne (auch mit imap probiert) und immer kommt die Timeout Fehlermeldung.


Kann es sein dass mein Firmennetzwerk die Verbindung blockiert?
 

AlexSpritze

Bekanntes Mitglied
Eine letzte Idee noch von mir: Versuche mal mit der Console
Code:
telnet imap.gmx.net 143
oder mit IMAPS Portnummer 993. Mal sehen, ob du da auch ein Timeout bekommst.
 

Dave

Aktives Mitglied
Habe es gemacht und mehrere Tests durchgeführt auch mit einem anderem Anbieter (iCloud), alle haben Timeouts bekommen (jeder Eintrag dauerte ca. 2-3 Minuten).

Ich versuch mal rauszukriegen welche Ports die Firewall blockiert...

Code:
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\>telnet imap.gmx.net 143
Connecting To imap.gmx.net...Could not open connection to the host, on port 143:
 Connect failed

C:\>telnet imaps.gmx.net 993
Connecting To imaps.gmx.net...Could not open connection to the host, on port 993
: Connect failed

C:\>telnet pop.gmx.net 110
Connecting To pop.gmx.net...Could not open connection to the host, on port 110:
Connect failed

C:\>telnet imap.mail.me.com 993
Connecting To imap.mail.me.com...Could not open connection to the host, on port
993: Connect failed

C:\>telnet imap.mail.me.com 143
Connecting To imap.mail.me.com...Could not open connection to the host, on port
143: Connect failed

C:\>telnet imaps.mail.me.com 993
Connecting To imaps.mail.me.com...Could not open connection to the host, on port
 993: Connect failed

C:\>telnet imaps.mail.me.com 993
Connecting To imaps.mail.me.com...Could not open connection to the host, on port
 993: Connect failed

C:\>


Edit:

:-/ alles klar es scheint so als ob nur der 80er Port frei ist.....

ich teste den Code bei mir zuhause ob er da gehen wird.
 
Zuletzt bearbeitet:

Dave

Aktives Mitglied
Ok Habe es jetzt endlich geschaft zuhause zu probieren, da gings ohne Probleme, also liegt es vermutlich an den Ports die nicht freigeschaltet sind bei mit im Betrieb ;-)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Javamail with authentication Netzwerkprogrammierung 9
D JavaMail: HTML Code einer Mail Netzwerkprogrammierung 9
H JavaMail STARTTLS Netzwerkprogrammierung 6
S javamail und filterung bekannter nachrichten Netzwerkprogrammierung 3
T JavaMail POP Zugriff zeigt nicht alle Emails Netzwerkprogrammierung 2
S Mehrere Attachments mit JavaMail API auslesen Netzwerkprogrammierung 3
R JavaMail: Wie bekommt man rückgabecodes vom Server? Netzwerkprogrammierung 3
F Mehrere Attachments mit JavaMail API Netzwerkprogrammierung 2
H HTML-Mails mit JavaMail API Netzwerkprogrammierung 3
A JavaMail Problem - Nachricht wird nicht versendet ? Netzwerkprogrammierung 9
G JavaMail subFolders Netzwerkprogrammierung 6
S Voreinstellungen für JavaMail Netzwerkprogrammierung 2
D JavaMail Kontaktformular Umlaute Problem Netzwerkprogrammierung 2
conan2 JavaMail Netzwerkprogrammierung 10
R Problem beim Senden von Emails (Javamail) Netzwerkprogrammierung 2
J JavaMail Exception bei senden an anderen Server. Netzwerkprogrammierung 8
J JavaMail-Problem Netzwerkprogrammierung 5
G Fragen/Probleme mit JavaMail Netzwerkprogrammierung 2
G JavaMail und Session/Message Problem Netzwerkprogrammierung 2
L JavaMail: Mail in Posteingang aber nicht in Versendet Netzwerkprogrammierung 2
L JavaMail: Automatisches Email Versand (mehrere Empfänger) Netzwerkprogrammierung 4
L JavaMail: Versenden von mails funktioniert nicht Netzwerkprogrammierung 7
V JavaMail API Problem Netzwerkprogrammierung 10
P mit javamail gmx postfach prüfen Netzwerkprogrammierung 8
T Mit JavaMail API Faxe versenden? Netzwerkprogrammierung 5
I Socket Problem mit den WebSocket Antworten der Discord API Netzwerkprogrammierung 0
K Java Websocketserver Problem | Android to Pi Netzwerkprogrammierung 1
C RMI Produzent-Verbraucher-Problem - Code review Netzwerkprogrammierung 12
B Socket Bilder verschicken via Sockets. Heap-Problem. Netzwerkprogrammierung 2
S Problem bei dem Bluetoothverbindungsaufbau Netzwerkprogrammierung 2
G Server-Client IO Problem Netzwerkprogrammierung 6
M Netty - TCP Problem Netzwerkprogrammierung 4
L Socket Problem mit Server Netzwerkprogrammierung 1
J Chat Server starten über GUI problem Netzwerkprogrammierung 4
M Problem bei Socket (MultiplayerSpiel) Netzwerkprogrammierung 4
M Socket CDI, Websocket reference Problem ! Netzwerkprogrammierung 2
Shams Problem mit Eventbus in Verbindung mit Server Netzwerkprogrammierung 0
G apache httpClient Problem. Netzwerkprogrammierung 5
H Problem mit ObjectStreams Netzwerkprogrammierung 3
A Problem beim Senden von Client zu Server Netzwerkprogrammierung 10
D Socket BufferedWriter/Reader Problem Netzwerkprogrammierung 1
Maxim6394 Problem mit Socks5 Implementierung Netzwerkprogrammierung 0
C Handle Connection Problem Netzwerkprogrammierung 3
E HttpUrlConnection Cookie Problem Netzwerkprogrammierung 0
X Problem mit vielen Bytes über Socket Netzwerkprogrammierung 23
O 4Gewinnt Multiplayer - Netzwerk Problem (TCP) Netzwerkprogrammierung 1
A Socket Socket-Problem - Object wird nicht übertragen Netzwerkprogrammierung 3
R Problem beim Programmieren eines Chatprogramms Netzwerkprogrammierung 5
E einfaches Problem: Session-Handling bei Servlets Netzwerkprogrammierung 5
G Problem mit einem FileWatcher Netzwerkprogrammierung 7
T Socket Server starten Thread Problem Netzwerkprogrammierung 12
B Client/Server Connection Problem Netzwerkprogrammierung 2
G Problem mit STATIC-Verständnis Netzwerkprogrammierung 8
S Umstellung AS400 auf Postgre - Problem beim Arbeiten mit Metadaten Netzwerkprogrammierung 2
J Facelets Include Rendered Problem Netzwerkprogrammierung 2
J Socket Problem mit C++/Java Netzwerkprogrammierung 20
P Problem mit Datagram-Sockets Netzwerkprogrammierung 2
G Socket NIO2 Problem mit AsynchronousSocketChannel beim Schließen Netzwerkprogrammierung 3
G Cookie Verwaltungs Problem nach Login auf InetSeite (Wo utma-Cookie?) Netzwerkprogrammierung 18
C Socket Problem mit ObjectInput/OutputSream Netzwerkprogrammierung 7
B Socket Problem mit Netzwerkchat Netzwerkprogrammierung 21
D RMI Problem beim shutdown von verteilter CORBA-Anwendung Netzwerkprogrammierung 6
Maxim6394 ipv6 Problem Netzwerkprogrammierung 2
Maxim6394 Proxyserver Performance Problem Netzwerkprogrammierung 11
M Problem Client - Server Sockets: .ready() wird nie true! Netzwerkprogrammierung 6
C Socket Problem mit ObjectInput/OutputSream Netzwerkprogrammierung 5
B RMI und Problem mit rmic-Tool Netzwerkprogrammierung 3
C FTP storeFileStream Problem Netzwerkprogrammierung 3
N Problem über http eine Datei zu senden Netzwerkprogrammierung 4
J HTTP Übersetzung yahoo babelfish - Zeichensatz-Problem Netzwerkprogrammierung 6
D Apache CXF, JAX-WS Problem bei Arrays - einfacher Server Netzwerkprogrammierung 2
M Problem beim Datenempfang Netzwerkprogrammierung 2
X Problem mit Server-Client-Kommunikation Netzwerkprogrammierung 14
M Problem mit Socket-Verbindung Netzwerkprogrammierung 2
N NIO Problem beim speziellen Behandeln von einzelnen Benutzern Netzwerkprogrammierung 13
D Thread problem Netzwerkprogrammierung 3
T Servlets JSP: Tomcat Problem Netzwerkprogrammierung 4
K Client - Server Problem Netzwerkprogrammierung 16
T RMI Problem Client-Server Netzwerkprogrammierung 2
P RMI Stub Problem Netzwerkprogrammierung 3
D Socket UDP Übertragungs Problem Netzwerkprogrammierung 7
I HTTP Post aus html in Java einlesen - Problem Netzwerkprogrammierung 2
I HTTP Post aus html in Java einlesen - Problem Netzwerkprogrammierung 6
D Problem mit ObjectInputStreams Netzwerkprogrammierung 10
D Socket Problem mit InputStreamReader Netzwerkprogrammierung 3
N CRC32 CheckSum Problem bei UDP Netzwerkprogrammierung 2
V Java Mail Api - IMAP Problem Netzwerkprogrammierung 6
P RMI Problem Netzwerkprogrammierung 4
I Problem bei Outputstreamerzeugung in anderer Klasse als Socket Netzwerkprogrammierung 5
S Socket Problem mit Objektübertragung Netzwerkprogrammierung 16
Shoox Reader / Writer Problem Netzwerkprogrammierung 2
S Problem mit 2 Serversockets unter Win XP Netzwerkprogrammierung 7
P Socket Problem mit Netzwerkverbindung über TCP Netzwerkprogrammierung 12
M RMI - Connection Problem Netzwerkprogrammierung 7
J Socket Client - Server Problem Netzwerkprogrammierung 4
M Socket Chat-Client-Problem Netzwerkprogrammierung 8
D Client Server Problem, Methode readline() löst SocketException "Connection reset" aus Netzwerkprogrammierung 8
E HTTP Problem beim Auslesen von Websiten Netzwerkprogrammierung 6
T Problem bei Findung der richtigen Architektur Netzwerkprogrammierung 3
AlexSpritze Authentication Problem bei WebServices Netzwerkprogrammierung 4

Ähnliche Java Themen

Neue Themen


Oben