के रूप में मेल भेजते समय लाइन ब्रेक अनदेखा किया गया है मेरे पास "हाय, \ r \ n यह परीक्षण है \ r \ n धन्यवाद" मैं मेलमेसेज क्लास का उपयोग कर मेल भेज रहा हूं। मैंने "IsBodyHtml" संपत्ति को गलत पर सेट किया है। मुद्दा यह है कि मुझे लाइन ब्रेक के बिना मेल प्राप्त हो रहा है। क्या आप मुझे बता सकते हैं कि मैं क्या खो रहा हूं?सादा पाठ
सादा पाठ
उत्तर
\ r \ n के बजाय Environment.NewLine
msdn का उपयोग करें।
आपके मेल में केवल सादे परीक्षण की बजाय लाइन ब्रेक को शामिल करने में सक्षम होने के लिए, आपको लगता है कि शरीर के HTML को सत्य पर सेट करना होगा, मुझे लगता है।
आप लाइन ब्रेक हो सकते हैं, आपके पास 2 लाइन ब्रेक और एक अवधि के साथ एक लाइन नहीं हो सकती है और कुछ भी नहीं।वह विशिष्ट अनुक्रम संदेश के अंत को दर्शाता है और एसएमटीपी सर्वर क्रॉस आंखों पर जायेगा। – Tremmors
मुझे लगता है कि सिर्फ एक HTML ईमेल भेजना आसान है। कोई (विपणन/प्रबंधन से अधिकतर) एक सादा ईमेल मांगेगा जब वे सादा पाठ देखेंगे और आपको केवल इसे फिर से करना होगा। हालांकि, मैं समझता हूं कि ऐसी परिस्थितियां हैं जहां केवल एक सादा पाठ ईमेल भेजा जा सकता है। – Dean
हम एक ही समस्या थी, लेकिन यदि आप अपने संदेश सभी को एक बार एक स्ट्रिंग में, के रूप में एक StringBuilder करने का विरोध परिभाषित करते हैं, तो आप इस तरह अपने संदेश को परिभाषित कर सकते हैं:
string message = string.Format(
@"First Line: {0}
Second Line: {1}
ThirdLine: {2}", firstValue, secondValue, thirdValue);
को परिभाषित करना इस तरह का संदेश निकाय, और सेटिंग IsBodyHtml = झूठी, आपको नई लाइनें देगा जो आप चाहते हैं।
अन्यथा, StringBuilder
var sb = new StringBuilder();
sb.AppendLine("FirstLine");
sb.AppendLine("SecondLine");
IsBodyHtml = झूठी चाल है! धन्यवाद .. – Vaibhav
का उपयोग आप Outlook से अपने मेल को पढ़ रहे हैं, यह आउटलुक जाता है कि पंक्ति विराम को हटाने, यह सोच कर वे अतिरिक्त पंक्ति विराम हैं हो सकता है। क्या आपने अपने मेल को किसी अन्य सॉफ़्टवेयर से पढ़ने का प्रयास किया - या शायद एक वेबमेल?
+1 आप सही हैं .. :) –
एक और अधिक मुश्किल कारण यह हो सकता है कि मैं सिर्फ का सामना करना पड़ा:
- आपका मेल सर्वर manipulates बाहर जाने वाले संदेशों और
मैं था अपने अन्यथा केवल पाठ संदेश के लिए एक html संस्करण कहते हैं ऐसी ही समस्या है जहां मेरी अधिकांश लाइन ब्रेक काम कर रही थी लेकिन कोई नहीं था। अगर मैंने उस ईमेल का जवाब मारा जो लाइन ब्रेक नहीं दिखा रहा था, तो उत्तर के नीचे मूल ईमेल टेक्स्ट लाइन ब्रेक दिखाएगा (इसलिए यह इंगित करता है कि यह एक दृष्टिकोण मुद्दा है)। मैंने पर्यावरण के अनुशंसित उत्तर की कोशिश की। न्यूलाइन और उसने कुछ भी नहीं बदला। मेरे मामले में, कथन के अंत में एक अवधि जोड़ना जहां मैं नई लाइन चाहता था और फिर एक \ r \ n में डाल दिया चाल चल रहा था। इस चर्चा में पोस्ट किए गए पिछले लिंक के अनुसार, आउटलुक लाइन फ़ीड्स को फ़िल्टर करने के लिए कुछ नियमों का उपयोग कर रहा है और इस चर्चा में शुरू होने वाले प्रश्न में मैंने देखा है कि आपके पास अपनी सजा के अंत में कोई अवधि नहीं है।
मैं पावरशेल स्क्रिप्ट के माध्यम से ई-मेल अधिसूचना भेज रहा था और Outlook में मेल देखने पर भी कोई लाइन ब्रेक नहीं मिला।
$emailMessage.Body = "First Line" + "`r`n" + "Second Line"
यह Outlook में एक विशेषता है, आप इसे बंद आउटलुक में बदल सकते हैं: मेरे लिए .ps1 फ़ाइल में समाधान इस था। विकल्प पर जाएं - मेल - और "संदेश प्रारूप" के अंतर्गत आप "सादे पाठ संदेशों में अतिरिक्त लाइन ब्रेक निकालें" अनचेक करते हैं।
एक और समाधान मेल भेजते समय प्रत्येक पंक्ति के अंत में तीन रिक्त स्थान जोड़ना है। ऐसा लगता है कि Outlook स्वीकार करने के लिए कि यह एक अतिरिक्त लाइन ब्रेक नहीं है।
मुझे लगता है कि इस लिंक पर इस प्रश्न का बेहतर उत्तर दिया जा सकता है: http://stackoverflow.com/questions/247546/outlook-autocleaning-my-line-breaks-and-screwing-up-my-email-format – user1387916