पायथन 2.6 में एक आरएफसी 822 संदेश को देखते हुए, मैं सही टेक्स्ट/सादा सामग्री भाग कैसे प्राप्त कर सकता हूं? असल में, एल्गोरिथ्म मैं चाहता हूँ यह है:पायथन का उपयोग करके मुझे ईमेल संदेश की टेक्स्ट सामग्री कैसे मिल सकती है?
message = email.message_from_string(raw_message)
if has_mime_part(message, "text/plain"):
mime_part = get_mime_part(message, "text/plain")
text_content = decode_mime_part(mime_part)
elif has_mime_part(message, "text/html"):
mime_part = get_mime_part(message, "text/html")
html = decode_mime_part(mime_part)
text_content = render_html_to_plaintext(html)
else:
# fallback
text_content = str(message)
return text_content
इन बातों का
, मैं get_mime_part
और पैट नीचे has_mime_part
है, लेकिन मैं काफी यकीन है कि कैसे माइम हिस्से से डीकोड पाठ पाने के लिए नहीं कर रहा हूँ। मैं get_payload()
का उपयोग कर इनकोडिंग पाठ प्राप्त कर सकते हैं, लेकिन अगर मैं get_payload()
विधि के decode
पैरामीटर का उपयोग करने का प्रयास करें (the doc देखें) मैं कोई त्रुटि मिलती है जब मैं पाठ/सादे ओर से यह कहते हैं:
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/email/message.py", line 189, in get_payload
raise TypeError('Expected list, got %s' % type(self._payload))
TypeError: Expected list, got <type 'str'>
इसके अलावा, मुझे नहीं पता कि एचटीएमएल कैसे लेना है और जितना संभव हो सके पाठ को प्रस्तुत करना है।
मैं http://ginstrom.com/scribbles/2007/11/19/parsing-multilingual-email-with- में कुछ इसी तरह के लिए एक उपयोगी समाधान नहीं मिला पायथन/ – beldaz