2011-09-03 17 views
5

इस के साथ वास्तव में अजीब अनुभव है जो मुझे पता लगाने के लिए एक घंटे से अधिक समय ले गया। मेरे पास पाइथन में लिखी गई एक सीजीआई स्क्रिप्ट है जो फॉर्म डेटा लेती है और इसे ईमेल पर अग्रेषित करती है, समस्या यह थी कि स्ट्रिंग में एक कोलन था, तो यह पाइथन को ईमेल पर कुछ भी आउटपुट नहीं करेगा।पायथन ईमेलिंग - कोलन का उपयोग कोई आउटपुट

क्या किसी को पता है कि यह क्यों है?

उदाहरण के लिए:

output = "Print- Customer" 

काम करता है, हालांकि:

output = "Print: Customer" 

प्रिंट कोई उत्पादन।

मेरा ईमेल समारोह अनिवार्य रूप से काम करता है:

server.sendmail(fromaddr, toaddrs, msg) 

जहां msg = उत्पादन

बस सोच अगर बृहदान्त्र अजगर स्ट्रिंग उत्पादन में विशेष वर्ण

+1

हमें कोड दें और हमें नमूना डेटा दें। – cdhowie

+0

जोड़े गए उदाहरण। – Kilizo

उत्तर

6

बृहदान्त्र में विशेष वर्ण नहीं है पायथन स्ट्रिंग आउटपुट, लेकिन यह ईमेल हेडर के लिए विशेष है। उत्पादन में एक रिक्त पंक्ति डालने का प्रयास करें:

output = "\nPrint: Customer" 
+0

धन्यवाद! पता था कि यह एक ईमेल मुद्दा था, बैकस्लाशिंग आदि था और इसे काम पर नहीं मिला। – jdborg

2

मुझे कुछ अनुमान बनाने के लिए अनुमति दें:

  1. मेल वास्तव में भेजा जा रहा है, लेकिन शरीर खाली दिखाई देता है (आप सवाल नहीं है ये कहो)।
  2. आप बिल्टिन पायथन मेलिंग लाइब्रेरी का उपयोग नहीं कर रहे हैं।
  3. यदि आप अपने मेल रीडर में मेल खोलते हैं, और शीर्षकों को देखते हैं, तो "print:" पंक्ति मौजूद होगी।

यदि हां, तो समस्या यह है कि आप एक "\r\n" जोड़ी के साथ मेल हेडर न खत्म होने वाली नहीं कर रहे हैं, और मेल पाठक का मानना ​​है कि "print:" एक मेल हेडर है, जबकि "print -" का हिस्सा है एक गठित ईमेल का शरीर।

यदि आप अपने शीर्षकों के बाद "\r\n" जोड़ते हैं, तो सब कुछ ठीक होना चाहिए।

संबंधित मुद्दे