मेरा आवेदन पायथन में लिखा गया है। मैं जो कर रहा हूं वह है कि मैं पोस्टफिक्स द्वारा प्राप्त प्रत्येक ईमेल पर एक स्क्रिप्ट चला रहा हूं और ईमेल सामग्री के साथ कुछ करता हूं। ईमेल के रूप में ईमेल लेने के लिए स्क्रिप्ट चलाने के लिए Procmail जिम्मेदार है। समस्या तब शुरू हुई जब मैं इनपुट संदेश (टेक्स्ट हो सकता है) को ईमेल_मेसेज ऑब्जेक्ट में परिवर्तित कर रहा था (क्योंकि बाद वाला काम आसान है)। मैं email.message_from_string का उपयोग कर रहा हूं (जहां ईमेल डिफ़ॉल्ट ईमेल मॉड्यूल है, पाइथन के साथ आता है)।ईमेल बॉडी कभी-कभी एक स्ट्रिंग और कभी-कभी एक सूची होती है। क्यूं कर?
import email message = email.message_from_string(original_mail_content) message_body = message.get_payload()
यह MESSAGE_BODY कभी कभी एक सूची [email.message.Message उदाहरण, email.message.Message उदाहरण] लौटा रहा है और कुछ समय के लिए एक स्ट्रिंग (आने वाली ईमेल की वास्तविक शरीर सामग्री) लौटने। क्यों यह है। और यहां तक कि मुझे एक और अवलोकन मिला। जब मैं email.message.getess.get_payload() docstring के माध्यम से ब्राउज़ कर रहा था, मुझे यह मिला ..
"" पेलोड या तो एक सूची ऑब्जेक्ट या स्ट्रिंग होगा। अगर आप सूची वस्तु को संशोधित करते हैं, तो आप संशोधित करते हैं संदेश का पेलोड स्थान पर ..... ""
तो मेरे पास पाइथन के माध्यम से ईमेल के शरीर को प्राप्त करने के लिए सामान्य तरीका कैसे है? कृपया मेरी मदद करें।
संदेश सूची में मैंने बात की, मैंने प्रत्येक ऑब्जेक्ट पर get_payload() चलाने का प्रयास किया। दोनों एक ही चीज़ लौटते हैं। क्या एक ऑब्जेक्ट दूसरे प्रकार का क्लोन है, ताकि अगर मुझे एक ही भाग पर get_payload कहा जाता है तो ??? –
आपको जो भेजा गया है उस पर निर्भर करता है। उदाहरण के लिए, आप आमतौर पर एक पाठ/एचटीएमएल और एक ही चीज़ का एक पाठ/सादा संस्करण प्राप्त कर सकते हैं। आप अन्य टेक्स्ट/प्रकारों पर टेक्स्ट/सादा सामग्री प्रकार को देखने और पसंद करने के लिए फ़ंक्शन को संशोधित कर सकते हैं। – bobince
बहुत बढ़िया बॉबन्स।आप बिल्कुल सही हैं: डी –