2012-11-03 44 views
1

我真的開始了IMAPClient的hang hang。代碼:'BODY[HEADER.FIELDS (FROM)]'回報IMAPClient和BODY [HEADER.FIELDS(FROM)]字段

From: First Last <[email protected]> 

我真的只是喜歡它返回的電子郵件地址是這樣的:

[email protected] 

我需要將它傳遞給一個變量第一和修剪下來或者是我可以使用另一個fetch修飾符?

response = server.fetch(messages, ['FLAGS', 'RFC822.SIZE', 'BODY[HEADER.FIELDS (FROM)]']) 
for msgid, data in response.iteritems(): 
    print ' ID %d: %d bytes, From: %s flags=%s' % (msgid, 
              data['RFC822.SIZE'], 
              data['BODY[HEADER.FIELDS (FROM)]'], 
              data['FLAGS']) 
+0

而不是打印響應如何將每個字符串轉換爲字符串?我嘗試用'data ='替換'print',然後執行'data [0]'等,但它不起作用。 –

+0

那麼現在的問題是什麼?爲什麼你有兩個賬戶? ;) –

+0

str()是如何將任何東西變成Python中的字符串。 – Max

回答

3

不 - 你不能這樣做與IMAP的要求,如果你看一下我的其他職位,你會發現使用parseaddr的東西,但在這裏它與你的榜樣又是:

>>> from email.utils import parseaddr 
>>> a = 'From: First Last <[email protected]>' 
>>> parseaddr(a) 
('First Last', '[email protected]') 
0

IMAPLIB不會爲您分析大部分協議。它按原樣從服務器返回線路。

您可以也應該使用email庫中的解析器來幫助您。

相關問題