mailto लिंक कई शरीर लाइनों


120

मेलो लिंक में सही ढंग से काम करने के लिए कई लाइनों को प्राप्त करने में परेशानी हो रही है

मेरे मामले में मैं इसे आउटलुक डिफॉल्ट मेल रीडर से जांच रहा हूं।

निम्नलिखित एक लंगर href में रखा गया है:

mailto:email@address.com?&subject=test&body=type%20your&body=message%20here

केवल "यहां संदेश" ईमेल बॉडी में दिखाई देता है। (चाहे मैं क्रोम का उपयोग करूं या IE)

विचार?

जवाबों:


208

आप नई एन्कोड करने के लिए URL एन्कोडिंग का उपयोग कर सकते हैं %0A

mailto:email@address.com?subject=test&body=type%20your%0Amessage%20here

हालांकि उपरोक्त कई मामलों में काम करने के लिए प्रकट होता है, उपयोगकर्ता olibre बताते हैं कि मेल URI स्कीम को नियंत्रित करने वाला RFC निर्दिष्ट करता है कि %0D%0A(कैरिज रिटर्न + लाइन फीड) का उपयोग %0A(लाइन फीड) के बजाय किया जाना चाहिए । यह भी देखें: Newline प्रतिनिधित्व


4
धन्यवाद, यह मेरे लिए अच्छी तरह से काम किया और इंटरनेट पर तैर रहे अन्य समाधानों की तुलना में बहुत सरल लगता है।
bryn

यह सभी विशेष पात्रों के लिए काम करना चाहिए, है ना? & =% 26,% =% 25, ​​क्या कोई वर्ण हैं जहाँ यह प्रतिमान नहीं है?
ब्लास्ट_हार्डशे

2
जानकारी के लिए, $0Aबस हैescape( "\n" )
divillysausages

2
वह एनकोडर encodeURIComponentयूआरआई घटकों को एनकोड करने के लिए मानक का उपयोग करता है ।
सेस टिम्मरमैन

1
% 0D% 0A मेरे लिए व्हाट्सएप संदेश में ईमेल और साझा करने के लिए काम किया
बेनबी

40
  1. bodymailtoस्ट्रिंग के भीतर एकल पैरामीटर का उपयोग करें
  2. %0D%0Aन्यूलाइन के रूप में उपयोग करें

mailtoURL स्कीम द्वारा द्वारा निर्दिष्ट किया जाता RFC2368 (जुलाई 1998) और RFC6068 (अक्टूबर 2010)।
नीचे इस अंतिम RFC की धारा 5 का एक उद्धरण है :

[...] एक संदेश के शरीर में लाइन टूटना जरूरी है "%0D%0A"
कार्यान्वयन एक संदेश के शरीर में अंतिम पंक्ति विराम जोड़ देता है, भले ही "%0D%0A"शरीर में कोई अनुगामी न हो [...]

धारा 6 में भी देखें उसी RFC से उदाहरण:

<mailto:infobot@example.com?body=send%20current-issue%0D%0Asend%20index>

उपरोक्त mailtoशरीर से मेल खाती है:

send current-issue
send index

18

बॉडी लाइन्स प्राप्त करने के लिए बच () का उपयोग करें

body_line =  escape("\n");

इसलिए

href = "mailto:me@my.com?body=hello,"+body_line+"I like this.";

1
मैं इसे व्यक्तिगत रूप से पसंद करता हूं। मुख्य रूप से क्योंकि यह भी काम करता है जब आप कोशिश करते हैं और एक% जोड़ते हैं
दान जेम्स पामर


15

यह वही है जो मैं करता हूं, बस जोड़ें \nऔर उपयोग करेंencodeURIComponent

उदाहरण

var emailBody = "1st line.\n 2nd line \n 3rd line";

emailBody = encodeURIComponent(emailBody);

href = "mailto:me@somesite.com?body=" + emailBody;

EncodeURIComponent डॉक्स की जाँच करें


includeआप किस चीज का उपयोग करते हैं encodeURIComponent?
frakman1

1
@ frakman1 encodeURIComponent एक जावास्क्रिप्ट फ़ंक्शन है। आप इसे किसी भी शामिल किए बिना उपयोग कर सकते हैं।
किरनवज
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.