मेल्टो बॉडी में एक लाइन ब्रेक डालें


166

मैं अपने mailto बॉडी में एक लाइन ब्रेक सम्मिलित करना चाहूंगा। मैंने% 0A,% 0D और% 0D% 0A की कोशिश की। मेरे लिए कुछ भी काम नहीं किया। मैंने मैक ओएसएक्स पर Google क्रोम के साथ जीमेल, याहू, एप्पल मेल, आउटलुक 2010, आउटलुक डॉट कॉम और थंडरबर्ड पर परीक्षण किया।

कृपया कोई मदद?

यहाँ मेरा कोड है:

<a href="mailto:email@mycompany.com?subject=Subscribe&body=Lastame%20%3A%0D%0A%20Firstname%20%3A"><img alt="Subscribe" class="center" height="50" src="subscribe.png" style="width: 137px; height: 50px; color: #4da6f7; font-size: 20px; display: block;" width="137"></a>

4
संभव डुप्लिकेट: stackoverflow.com/questions/15019689/…
जॉन

@ जॉन वह डुप्लिकेट कैसे है? यह %20नई लाइन में प्रवेश करने के लिए उपयोग किए जाने के बारे में एक बहुत ही विशिष्ट प्रश्न है , न कि इस प्रश्न की तरह एक नई रेखा कैसे बनाई जाए।
jdmdevdotnet

1
मेरे लिए एक दुपट्टे की तरह लग रहा है। यह सवाल पूछता है कि "मैं एक लाइन ब्रेक कैसे लगाता हूं जैसे कि मैं एक स्पेस करता हूं"। यह नहीं पूछ रहा है कि कैसे एक नई लाइन के %20 रूप में उपयोग करें । मुझे केवल इतना ही अंतर दिखाई दे रहा है कि यह शरीर के बारे में पूछ रहा है, जबकि यह प्रश्न विषय के बारे में पूछता है। हालांकि, दोनों मामलों में इसका एक ही जवाब है।
एमी

जवाबों:


242

मैं सुझाव <br>दूंगा कि आप html टैग आज़माएं , अगर आपका मार्केटिंग एप्लिकेशन इसे पहचान लेगा।

मैं उपयोग करता हूं %0D%0A। यह तब तक काम करना चाहिए जब तक कि HTML HTML फॉर्मेट हो।

<a href="mailto:email@mycompany.com?subject=Subscribe&body=Lastame%20%3A%0D%0AFirstname%20%3A"><img alt="Subscribe" class="center" height="50" src="subscribe.png" style="width: 137px; height: 50px; color: #4da6f7; font-size: 20px; display: block;" width="137"></a>

आप संभवतः Firstname से पहले% 20 को निकालना चाहेंगे, अन्यथा आपके पास अगली पंक्ति में पहले वर्ण के रूप में एक स्थान होगा।

एक नोट, जब मैंने आपके कोड के साथ यह परीक्षण किया, तो यह काम किया (कुछ अतिरिक्त रिक्ति के साथ)। क्या आप एक मेल क्लाइंट का उपयोग कर रहे हैं जो HTML प्रारूपण की अनुमति नहीं देता है?


1
मैंने पहले ही कोशिश की %0D%0A, और यह मेरे लिए काम नहीं कर रहा है। मैं अपने समाचार पत्र भेजने के लिए एक ईमेल विपणन समाधान का उपयोग करता हूं। मुझे लगता है कि यह मेरे कोड
Marion

1
ओह, यदि आप एक अलग समाधान का उपयोग कर रहे हैं, तो क्या आपने HTML टैग "<br>" की कोशिश की है? कभी-कभी यह काम करता है जब मैं 3rd पार्टी एप्लिकेशन का उपयोग कर रहा हूं।
जेम

2
मैंने दूसरे प्लेटफॉर्म के साथ कुछ परीक्षण किया, मेरा कोड पूरी तरह से काम कर रहा है! यह निश्चित रूप से मेरे द्वारा उपयोग किए जाने वाले समाधान से आ रहा है। उन सभी घंटों के लिए कुछ भी नहीं खो दिया ... क्षमा करें दोस्तों, और फिर आपकी मदद के लिए धन्यवाद
मैरियन

4
यदि आप हर रूपांतरित करना चाहते हैं <br>, <br/>या <br />करने के लिए %0D%0Aआप कर सकते हैंvar emailBody = htmlBody.replace(/<br\s*\/?>/mg,"%0D%0A");
जोआओ पिमेंटेल फरेरा

117

RFC2368 के अनुसार जो परिभाषित करता है mailto:, RFC1738 में एक उदाहरण द्वारा आगे प्रबलित है , यह स्पष्ट रूप से कहा गया है कि लाइन ब्रेक उत्पन्न करने का एकमात्र वैध तरीका है %0D%0A

यह सभी url योजनाओं जैसे गोफर, smtp, sdp, imap, ldap, आदि पर भी लागू होता है।


7
ध्यान दें कि यदि आपका निर्माण जावास्क्रिप्ट का उपयोग करके एक लिंक लिंक है, तो आप escape('\r\n')प्राप्त करने के लिए उपयोग कर सकते हैं %0D%0A
मार्क रोड्स

6
अतिरिक्त नोट: यदि आप ES6 / ES2015 स्ट्रिंग के साथ लिंक का निर्माण कर रहे हैं तो कच्चे कोड ( %0D%0A) ठीक काम करता है।
एडम सिम्पसन

@MarkRhodes: चूँकि mailto एक URI है, आप encodeURI (myMailToURIString) का भी उपयोग कर सकते हैं, जो तब आपके मेल बॉडी में आवश्यक सभी वर्णों से बच जाएगा :-)
लार्स जुएल जेन्सेन

4

एंड्रॉइड के लिए जीमेल में उत्सुकता से %0D%0Aकाम नहीं करता है और <br>काम करता है:

<a href="mailto:anything@any.com?subject=This%20is%20Subject&body=First line<br>Second line">
   click here to mail me
</a>

-1

जावास्क्रिप्ट का उपयोग कर सादा ईमेल के लिए, आप के \rसाथ भी उपयोग कर सकते हैं encodeURIComponent()

उदाहरण के लिए, यह संदेश:

hello\rthis answer is now well formated\rand it contains good knowleadge\rthat is why I am up voting

URI एन्कोडेड, परिणाम:

hello%0Dthis%20answer%20is%20now%20well%20formated%0Dand%20it%20contains%20good%20knowleadge%0Dthat%20is%20why%20I%20am%20up%20voting

और, href का उपयोग करते हुए:

mailto:me@house.country?body=hello%0Dthis%20answer%20is%20now%20well%20formated%0Dand%20it%20contains%20good%20knowleadge%0Dthat%20is%20why%20I%20am%20up%20voting

निम्नलिखित ईमेल बॉडी टेक्स्ट में परिणाम देगा:

hello
this answer is now well formated
and it contains good knowleadge
that is why I am up voting

1
@littlecoder क्योंकि यह एक खराब जवाब है: खराब स्वरूपित, खराब शब्दों में और यह आवश्यक संदर्भ छोड़ देता है। यह इस पृष्ठ पर लोगों को भ्रमित करने की संभावना है जैसा कि इस पृष्ठ पर है क्योंकि यह उनकी मदद करना है। यह इस साइट के मानकों से उपयोगी नहीं है, और इसलिए इसे तदनुसार मतदान किया गया है
UnrealEagle
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.