2012-05-22 23 views
0

我試圖僅返回從IMAP服務器提取的郵件的郵件內容。我覺得我得到了這個工作在一個問題沒有問題,但我目前正在得到一堆垃圾返回。這裏是我目前從服務器獲得的內容(包括一堆我不想要的垃圾)。只提取郵件的內容

我的代碼是類似如下:

server.select('INBOX') 
status, ids = server.search(None, 'UnSeen') 

latest_id = ids[0] 
print 'latest id is', latest_id 
status, msg_data = server.fetch(latest_id, '(RFC822)') 
raw_data = msg_data[0][1] 
print 'raw msg data: ', raw_data 

我的目標是字符串「ABC」分離出來的這個:

原料味精數據:投遞至:收稿日期:通過 與SMTP ID k5csp25808iba; 2012年5月22日16:52:37 -0700(PDT)Return-Path:< 3xS[email protected]grandcentral.bounces.google.com> Received-SPF:pass(google。 com:域名爲 3xS[email protected]grandcentral.bounces.google.com 指定爲允許的發件人)client-ip = 10.52.24.68; 身份驗證結果:mr.google.com; SPF =通(google.com:的域 3xS[email protected]grandcentral.bounces.google.com 指定所允許的發送者) smtp.mail = 3xSa8TyIUAIYBIBIEJFFGFA.BFBACICAAIB.dGgfq0IEl2373.5ysmo.qyyqvo .myw @ grandcentral.bounces.google.com; DKIM =傳遞 header.i=3xS[email protected]grandcentral.bounces.google.com 接收:從mr.google.com([10.52.24.68]) 通過用SMTP ID s4mr15641011vdf .3.1337730757212(num_hops = 1); 2012年5月22日16:52:37 -0700(PDT)DKIM簽名:v = 1; A = RSA-SHA256; C =輕鬆/放鬆; d = google.com; S = 20120113; h = mime-version:references:message-id:date:subject:from:to :content-type; bh = KIYz0SegimNSAAbGsi5167k + DIHSSlVjHp4RK92QeKo =; B = K2 // 5fPk82ocgnfM6iY4abv/RnxBzlbpnhSosuzkhf8cASjQmyLI0fshrY/xFWY1kh dQHWDqnpdPW5JhF8kODPkX6nDUCTmA81954ROjmqorUHqoqrqNgcJg17M5PPhfMCduhm HaavvpGomS8M29A2Yw81p6 + BDSLHDOsVaqXKM1SuuBjslBYZZNEz3YNDsZWHWop64O6V STWCiuXhdAwxqD3Ruuh1ZTbxrmHMimKZfGtF5wahvy8prRQibdBd21eW05fk7PHwalg9 vrsKpGD/xYzpGzEc7nUzIvirUlHFebN3r7JqO463ZKpWgKX/zEdG/uO2OFdxsYdqThow EBDg == MIME-版本:1.0收到的:通過用10.52.24.68 SMTP ID s4mr10817316vdf.3.1337730757202;星期二,2012 5月22日16時52分37秒-0700 (PDT)參考文獻: < [email protected]google.com>郵件ID: < [email protected]google.com >日期:2012年5月22日星期二23:52:37 +0000主題:來自 的短信來自:「」 < .T6WVgq84bs @ txt.voice.google.com>收件人: Content-Type:text/plain; charset = ISO-8859-1;格式=流動; delsp =是

美國廣播公司

+0

你試過它傳遞給類中,可以分析它的STDLIB? –

+0

我試過列表(),但我真的不知道如何用stdlib解析它,老實說。對不起 – jml

+0

我看了這裏:http://www.devshed.com/c/a/Python/Python-Email-Libraries-part-2-IMAP/3/ ...它沒有什麼幫助,因爲那裏是沒有參考嘗試獲取味精的內容。我嘗試BODY [TEXT]無濟於事。 – jml

回答

1

我能夠找到傳遞給server.fetch琴絃()的引用(如上所述)here。 這個回答我的問題,因爲我可以通過下面的隔離我希望字符串:

status, msg_data = server.fetch(some_id, '(UID BODY[TEXT])')