2016-11-21 11 views
0

私はimaplibに関する情報を設定し、自分の情報を設定しています。自分のGmailアカウントに問題なく動作します(ただし、Gmailの設定を変更する必要がありました)。Python 3.5 imaplibメール

私は紺碧のメールサービスと同じコードを試してみたが、私はたびに同じエラーを取得:

> Traceback (most recent call last): File "C:\Users\Carlo\Desktop\try.py", line 66, in <module> 
>  M = imaplib.IMAP4_SSL('mail.example.com') File "C:\Python34-32\lib\imaplib.py", line 1221, in __init__ 
>  IMAP4.__init__(self, host, port) File "C:\Python34-32\lib\imaplib.py", line 181, in __init__ 
>  self.open(host, port) File "C:\Python34-32\lib\imaplib.py", line 1234, in open 
>  IMAP4.open(self, host, port) File "C:\Python34-32\lib\imaplib.py", line 257, in open 
>  self.sock = self._create_socket() File "C:\Python34-32\lib\imaplib.py", line 1224, in _create_socket 
>  sock = IMAP4._create_socket(self) File "C:\Python34-32\lib\imaplib.py", line 247, in _create_socket 
>  return socket.create_connection((self.host, self.port)) File "C:\Python34-32\lib\socket.py", line 494, in create_connection 
>  for res in getaddrinfo(host, port, 0, SOCK_STREAM): File "C:\Python34-32\lib\socket.py", line 533, in getaddrinfo 
>  for res in _socket.getaddrinfo(host, port, family, type, proto, flags): socket.gaierror: [Errno 11004] getaddrinfo failed 

問題は、私はどのような濃厚でもないノウハウをしない理由私は理解できないということです私の問題を解決するために...

私を助けてもらえますか?

これは私のコードです:

import sys 
import imaplib 
import getpass 
import email 
import email.header 
import datetime 


def process_mailbox(M): 

    rv, data = M.search(None, '(UNSEEN)')#select just un-read documents 
    if rv != 'OK': 
     print("No messages found!") 
     return 


    for num in data[0].split(): 
     rv, data = M.fetch(num, '(RFC822)') 
     if rv != 'OK': 
      print("ERROR getting message", num) 
      return 

     msg = email.message_from_bytes(data[0][1]) 
     print (msg) 
     hdr = email.header.make_header(email.header.decode_header(msg['Subject'])) 
     subject = str(hdr) 
     print('Message %s: %s' % (num, subject)) 
     print('Raw Date:', msg['Date']) 
     # Now convert to local date-time 
     date_tuple = email.utils.parsedate_tz(msg['Date']) 
     if date_tuple: 
      local_date = datetime.datetime.fromtimestamp(
       email.utils.mktime_tz(date_tuple)) 
      print ("Local Date:", \ 
       local_date.strftime("%a, %d %b %Y %H:%M:%S")) 


M = imaplib.IMAP4_SSL('IMAP')#imap of my azure service 

try: 
    rv, data = M.login("email", "password")#my username and password except imaplib.IMAP4.error: 
    print ("LOGIN FAILED!!! ") 
    sys.exit(1) 

rv, data = M.select("Inbox") #select data from inbox folder if rv == 'OK': 
    print("Processing mailbox...\n") 
    process_mailbox(M) 
    M.close() else: 
    print("ERROR: Unable to open mailbox ", rv) 

M.logout() 

NEW INFORMATION:私はこれまでのところ、私はマニュアルを参照して準備を進めたので、多くの助けを受けて、自分でしようとしなかった

みんな、私はIPとしてみてくださいマシンのアドレスを指定してIMAPでポートを指定すると、今回は別のエラーが発生しました..... これは編集したコードです。

M = imaplib.IMAP4_SSL('IMAP or IP Address','143') 

try: 
    rv, data = M.login(EMAIL_ACCOUNT, passwd) 
except imaplib.IMAP4.error: 
    print ("LOGIN FAILED!!! ") 
    sys.exit(1) 

この時エラーは、このいずれかになります。

TimeoutError: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond

いくつか助けてください!!?!?!?

+0

SSLサーバーは、ポート993ではなく、143でリッスンします。 – Max

答えて

1

これはDNSエラーです。接続しようとしているホストの名前が見つかりません。

+0

こんにちは@Max私は本当にアドレスを共有したくないので、私はホストを置いていませんでした。私はマシンのIPアドレスとIMAPアドレスで試してみますが、今度はポート番号を指定して、別のエラーが表示されます...私の質問を編集するつもりです。 ..ありがとう –