2017-04-26 7 views
0

Meine Aufgabe ist es, die E-Mail mit IMAP oder Pop3-Server-Adresse zu lesen. Ich versuche, diese Aufgabe mit Python zu erledigen. Alle für diese Aufgabe verfügbaren Beispielcodes werfen den unten erwähnten FehlerLesen Sie E-Mails von Imap oder Pop3-Server

"Fehler: [Errno 10060] Ein Verbindungsversuch fehlgeschlagen, da die angeschlossene Partei nach einer bestimmten Zeit nicht ordnungsgemäß reagierte, oder eine Verbindung fehlgeschlagen, weil verbunden Host konnte nicht antworten "

Was könnte das Problem sein, ist es meine lokalen Firewall-Einstellungen oder vielleicht aus einem anderen Grund ... ????

import imaplib 

imap_host = 'imap.gmail.com' 
imap_user = '****@gmail.com' 
imap_pass = '****' 

## open a connection 
imap = imaplib.IMAP4_SSL(imap_host) 

## login 
imap.login(imap_user, imap_pass) 

und

import sys 
import chilkat 

imap = chilkat.CkImap() 

# Anything unlocks the component and begins a fully-functional 30-day trial. 
success = imap.UnlockComponent("Anything for 30-day trial") 
if (success != True): 
    print(imap.lastErrorText()) 
    sys.exit() 

# Turn on session logging: 
imap.put_KeepSessionLog(True) 

# Connect to GMail 
# Use TLS 
imap.put_Ssl(True) 
imap.put_Port(993) 
success = imap.Connect("imap.gmail.com") 
if (success != True): 
    print(imap.lastErrorText()) 
    sys.exit() 

# Login 
# Your login is typically your GMail email address. 
success = imap.Login("***@gmail.com","*****") 
if (success != True): 
    print(imap.lastErrorText()) 
    sys.exit() 

# Select an IMAP mailbox 
success = imap.SelectMailbox("Inbox") 
if (success != True): 
    print(imap.lastErrorText()) 
    sys.exit() 

# Show the session log. 
print(imap.sessionLog()) 

# Disconnect from the IMAP server. 
success = imap.Disconnect() 
+1

Können Sie Codebeispiele posten? Wir können nicht wissen, was die Quelle der Zeitüberschreitung ist, ohne zu wissen, was Sie versuchen zu tun. – Quitty

+0

Ich wette, Sie versuchen, eine Verbindung über Port 143 herzustellen. Gmail antwortet nur auf Port 993 mit SSL-Wrapping. – arnt

Antwort

0

Zuerst würde ich vorschlagen, ein einfaches Netzwerk Sanity Test zB tun: mit Telnet wie folgt:

telnet imap.gmail.com 993 

Wenn Vernetzung glücklich ist, dass Sie eine Antwort wie sehen sollten:

Trying 64.233.188.109... 
Connected to gmail-imap.l.google.com. 
Escape character is '^]'. 

Es könnte sich auch lohnen

IMAP für die gmail Hilfeseite Check-out

https://support.google.com/mail/accounts/answer/7875

+0

** Verbindung zu imap.gmail.com ... Konnte die Verbindung zum Host nicht öffnen, auf Port 993: Verbindung fehlgeschlagen ** ---- bekomme folgenden Fehler .... Grund warum das passiert ... .irgendwelche Vorschläge? –

+0

Es ist sehr wahrscheinlich, dass Ihre Firewall keine ausgehenden Verbindungen an Port 993 zulässt. Dies ist typisch für ein Unternehmens-Setup, bei dem sie aus Sicherheitsgründen möglicherweise einschränken möchten, wie E-Mails in die Organisation gelangen. Wenn dies ein Heim-Setup ist, dann sollten Sie die Web-Administrations-Seite Ihres Routers überprüfen. Ich nehme an, Sie können imap.gmail.com pingen? Um die Adresse Ihrer Firewall herauszufinden, können Sie in traceroute (oder tracert unter Windows) schauen. Dies kann Ihnen alle Netzwerk-Hops anzeigen, in denen das Problem auftreten könnte. – PsymonR