2011-07-21 13 views
5

हाल ही में कुछ ग्राहकों ने शिकायत की है कि वे गड़बड़ ईमेल प्राप्त कर रहे थे। एमआईएम हेडर दिखा रहे थे, और बेस 64 एन्कोडेड डेटा इत्यादि। सामग्री जो उनके मेल क्लाइंट द्वारा डीकोड की जानी चाहिए।ईमेल में उचित नई लाइन क्या है? एलएफ या सीआरएलएफ?

जांच के बाद मैंने पाया कि कुछ मेल क्लाइंट (gmx.de वेबमेल एक नाम देने के लिए) ने हर दूसरी पंक्ति के बाद एक खाली रेखा डाली, इस प्रकार वास्तव में सब कुछ गड़बड़ कर दिया।

एक झुकाव के बाद, मैंने अपने मेल भेजने कोड को सभी सीआरएलएफ को केवल एलएफ के साथ बदलने के लिए बदल दिया। और देखो और देखो - मेल पूरा हो गया।

अब, यह अजीब है, क्योंकि स्पष्ट रूप से कहा RFC 5322 कि

2,3। बॉडी

संदेश का मुख्य भाग यूएस-एएससीआईआईआई अक्षरों की रेखा है। शरीर पर केवल दो सीमाएं निम्नानुसार हैं:

o सीआर और एलएफ केवल सीआरएलएफ के रूप में एक साथ होनी चाहिए; उन्हें शरीर में स्वतंत्र रूप से दिखाई नहीं देना चाहिए।

हुह? खराब वेबमेल? या मैं कहीं गलत हो गया? अन्य वेबमेल (जैसे जीमेल) में कोई समस्या नहीं है, और वास्तव में ऐसा लगता है कि अधिकांश लोगों को कोई समस्या नहीं है (क्योंकि शिकायतें कम हैं)।

बस ध्यान दें - मैं लिनक्स बॉक्स पर PHP के mail() फ़ंक्शन के माध्यम से ईमेल भेज रहा हूं। अंतर्निहित मेल सॉफ़्टवेयर qmail लगता है, लेकिन मुझे यकीन नहीं है।

ऐसा लगता है कि qmail doesn't like CRLF under similar conditions। क्या यह समस्या हो सकती है? क्या यह पहले से तय नहीं है (वह पृष्ठ 4 वर्षों में अपडेट नहीं हुआ है)?

+0

निश्चित रूप से यह सीआरएलएफ है। – BoltClock

+0

तो आप नीचे आ गए? O_o –

+0

मैंने नहीं किया। असल में, मैं बस ऊपर उठाया। – BoltClock

उत्तर

2

http://www.php.net/manual/en/function.mail.php राज्यों

नोट:

संदेश प्राप्त नहीं कर रहे हैं, एक वामो (\ N) का उपयोग कर की कोशिश ही। कुछ यूनिक्स मेल ट्रांसफर एजेंट (सबसे विशेष रूप से qmail) एलएफ को स्वचालित रूप से सीआरएलएफ द्वारा प्रतिस्थापित करते हैं (जो सीआरएलएफ का उपयोग किया जाता है तो सीआर दोगुना हो जाता है)। यह एक अंतिम उपाय होना चाहिए, क्योंकि यह आरएफसी 2822 का पालन नहीं करता है।

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