I read this already और इस स्क्रिप्ट को कुछ मेल बॉक्स में ईमेल के लिए लाने के लिए लिखा है, जिसका शीर्षक '$' से शुरू होता है और कुछ प्रेषक द्वारा भेजा जाता है।पायथन imaplib fetch body email gmail
import email, getpass, imaplib, os
detach_dir = "F:\PYTHONPROJECTS" # where you will save attachments
user = raw_input("Enter your GMail username --> ")
pwd = getpass.getpass("Enter your password --> ")
# connect to the gmail imap server
m = imaplib.IMAP4_SSL("imap.gmail.com")
m.login(user, pwd)
m.select("PETROLEUM") # here you a can choose a mail box like INBOX instead
# use m.list() to get all the mailboxes
resp, items = m.search(None, '(FROM "[email protected]")')
items = items[0].split() # getting the mails id
my_msg = [] # store relevant msgs here in please
msg_cnt = 0
break_ = False
for emailid in items[::-1]:
resp, data = m.fetch(emailid, "(RFC822)")
if (break_):
break
for response_part in data:
if isinstance(response_part, tuple):
msg = email.message_from_string(response_part[1])
varSubject = msg['subject']
if varSubject[0] == '$':
msg_cnt += 1
my_msg.append(msg)
print msg_cnt
print email.message_from_string(response_part[1])
if (msg_cnt == 5):
break_ = True
अगर मैं email.message_from_string(response_part[1])
प्रिंट, मैं देख सकता यह (, से करने के लिए, तारीख ..., हेडर) पहले में जानकारी शामिल है, पूरा टेक्स्ट शरीर। लेकिन, मैं शरीर को खुद नहीं ला सकता हूं। email.message_from_string(response_part[0])
मेल आईडीएस प्रिंट करता है, और email.message_from_string(response_part[2])
सीमा से बाहर है। email.message_from_string(response_part[1][0])
न तो यह कर रहा है।
धन्यवाद और सम्मान करता है।
अद्यतन
अब, मेरे पास लगभग शरीर का पाठ हो सकता है। हालांकि, यह अभी भी आने वाले सूचना वक्तव्य से खराब हो गया है। मैं एक परिणाम
From nobody Tue Dec 25 11:42:58 2012
US=3D$4.030
EastCst=3D$4.036
NewEng=3D$4.205
CenAtl=3D$4.149
LwrAtl=3D$3.921
Midwst=3D$3.984
GulfCst=3D$3.945
RkyMt=3D$4.195
WCst=3D$4.187
CA=3D$4.268
के रूप में मिलता है और मैं From nobody Tue Dec 25 11:42:58 2012
जो जानकारी है से छुटकारा पाने के लिए करना चाहते हैं। मुझे पता है कि मैं पहली प्रासंगिक रेखा के लिए टेक्स्ट लुक पार्स कर सकता हूं ... मुझे पता है।
तो प्राप्त करने (मेरी पहली नमूने में प्लग करने के लिए) के लिए कोड है
if varSubject[0] == '$':
r, d = m.fetch(emailid, "(UID BODY[TEXT])")
msg_cnt += 1
my_msg.append(msg)
print email.message_from_string(d[0][1])
आप एक बेहतर तरीका (कोई जानकारी स्ट्रिंग) है ??? अधिक: अब तारीख लाने के लिए क्या आदेश है? मुझे पता है कि मैं varDate = msg['date']
कर सकता हूं जहां ऊपर उपयुक्त है, लेकिन दिन-दर-साल कैसे प्राप्त करें? धन्यवाद
यह ऐसा कर रहा है, धन्यवाद – octoback