แทรกตัวแบ่งบรรทัดในเนื้อความ mailto


166

ฉันต้องการแทรกตัวแบ่งบรรทัดลงในเนื้อหาเมลของฉัน ฉันลอง% 0A,% 0D และ% 0D% 0A ไม่มีอะไรทำงานให้ฉัน ฉันทดสอบกับ Gmail, Yahoo, Apple Mail, Outlook 2010, Outlook.com และ Thunderbird ด้วย Google Chrome บน Mac OSX

ความช่วยเหลือใด ๆ โปรด?

นี่คือรหัสของฉัน:

<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/…
John

@John ซ้ำกันอย่างไร? นั่นเป็นคำถามที่เฉพาะเจาะจงมากเกี่ยวกับ%20การใช้เพื่อป้อนบรรทัดใหม่ไม่ใช่วิธีการสร้างบรรทัดใหม่เช่นคำถามนี้
jdmdevdotnet

1
ดูเหมือนว่าเป็นคนล่อให้ฉัน คำถามนั้นถามว่า "ฉันจะแทรกตัวแบ่งบรรทัดอย่างไรฉันจะเว้นวรรค" มันไม่ได้ถามว่าจะใช้%20 เป็นบรรทัดใหม่ได้อย่างไร ความแตกต่างที่เห็นได้ชัดอย่างเดียวคือสิ่งนี้ถามเกี่ยวกับร่างกายในขณะที่คำถามนั้นถามเกี่ยวกับเรื่องนี้ มันคำตอบเดียวกันในทั้งสองกรณีแม้ว่า
Amy

คำตอบ:


242

ฉันขอแนะนำให้คุณลองใช้แท็ก html <br>ในกรณีที่ใบสมัครการตลาดของคุณจะรับรู้

%0D%0Aฉันใช้ สิ่งนี้จะทำงานได้ตราบใดที่อีเมลมีรูปแบบ 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>

คุณอาจต้องการนำ% 20 ก่อนชื่อจริงมิฉะนั้นคุณจะมีช่องว่างเป็นอักขระตัวแรกในบรรทัดถัดไป

หมายเหตุเมื่อฉันทดสอบโค้ดของคุณมันก็ใช้ได้ (พร้อมกับการเว้นวรรคเพิ่มเติม) คุณใช้โปรแกรมรับส่งเมลที่ไม่อนุญาตการจัดรูปแบบ HTML หรือไม่?


1
ฉันลองไปแล้ว%0D%0Aและมันไม่ทำงานสำหรับฉัน ฉันใช้โซลูชันการตลาดผ่านอีเมลเพื่อส่งจดหมายข่าวของฉัน ฉันคิดว่ามันคือการเขียนรหัสของฉันอีกครั้ง
Marion

1
โอ้ถ้าคุณใช้โซลูชันแยกคุณลองใช้แท็ก HTML "<br>" ไหม บางครั้งก็ใช้งานได้เมื่อฉันใช้แอปพลิเคชันบุคคลที่สาม
Jem

2
ฉันทำการทดสอบกับแพลตฟอร์มอื่นรหัสของฉันทำงานได้อย่างสมบูรณ์! มันมาจากทางออกที่ฉันใช้แน่นอน เวลาทั้งหมดเหล่านั้นสูญเสียไปโดยเปล่าประโยชน์ ... ขอโทษด้วยและขอขอบคุณอีกครั้งสำหรับความช่วยเหลือของคุณ
Marion

4
ถ้าคุณต้องการแปลงทุก<br>, <br/>หรือ<br />การ%0D%0Aที่คุณสามารถทำได้var emailBody = htmlBody.replace(/<br\s*\/?>/mg,"%0D%0A");
João Pimentel Ferreira

117

ตามRFC2368ซึ่งกำหนดmailto:เสริมต่อไปโดยตัวอย่างในRFC1738%0D%0Aก็จะระบุไว้อย่างชัดเจนว่าวิธีที่ถูกต้องเท่านั้นที่จะสร้างเส้นแบ่งอยู่กับ

นอกจากนี้ยังใช้กับแผนการ URL ทั้งหมดเช่น gopher, smtp, sdp, imap, ldap เป็นต้น


7
โปรดทราบว่าถ้าสร้างการเชื่อมโยง mailto ใช้ JavaScript ของคุณแล้วคุณสามารถใช้ที่จะได้รับescape('\r\n') %0D%0A
Mark Rhodes

6
หมายเหตุเพิ่มเติม: หากคุณกำลังสร้างลิงค์ด้วยเทมเพลตสตริง ES6 / ES2015 รหัสดิบ ( %0D%0A) ก็ใช้ได้ดี
Adam Simpson

@ MarkRhodes: เนื่องจาก mailto เป็น URI คุณยังสามารถใช้ encodeURI (myMailToURIString) ซึ่งจะหลบหนีตัวละครทั้งหมดที่จำเป็นในร่างกายจดหมายของคุณ :-)
Lars Juel Jensen

4

อยากรู้อยากเห็นใน gmail สำหรับ Android %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

สำหรับอีเมลธรรมดาโดยใช้ JavaScript คุณยังอาจจะใช้กับ \rencodeURIComponent()

ตัวอย่างเช่นข้อความนี้:

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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.