คุณอาจเข้ารหัส+
แต่คุณไม่จำเป็นต้อง
อันดับแรกเราต้องยอมรับว่าmailto
เป็นตัวอย่างของทั่วไป URI ที่ระบุโดยRFC 2396 (นี่คือสิ่งที่ใช้ XHTML และ HTML 4)
ตอนนี้ให้เราค้นหารายชื่อตัวละครที่สงวนไว้ใน RFC 2396
reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" |
"$" | ","
URI แยกเป็นสัมบูรณ์และสัมพัทธ์:
URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]
และเนื่องจากmailto:
มีการระบุรูปแบบนี่เป็น URI สัมบูรณ์:
absoluteURI = scheme ":" ( hier_part | opaque_part )
และเนื่องจากรูปแบบทั้งสำหรับhier_part
การเริ่มต้นกับ/
, mailto
เป็นส่วนหนึ่งที่ทึบแสง
opaque_part = uric_no_slash *uric
uric_no_slash = unreserved | escaped | ";" | "?" | ":" | "@" |
"&" | "=" | "+" | "$" | ","
uric = reserved | unreserved | escaped
ดังนั้นข้อ จำกัด คือการที่คุณจะต้องหลบหนี/
ถ้ามันมาถึงตัวอักษรตัวแรก แต่หลังจากที่คุณสามารถใส่ในตัวละครรวมถึงสงวนและ+
@
นี่คือ RFC อื่นเพื่อสนับสนุนสิ่งนี้ ใน RFCs ล่าสุดของชุดรูปแบบ mailto ที่เผยแพร่ในปี 2010 ชื่อRFC 6068กล่าวว่า:
ซอฟต์แวร์ที่สร้าง'mailto'
URI จะต้องระมัดระวังในการเข้ารหัสอักขระที่สงวนไว้ที่ใช้ รูปแบบ HTML เป็นซอฟต์แวร์ประเภทหนึ่งที่สร้าง'mailto'
URIs การใช้งานในปัจจุบันเข้ารหัสพื้นที่เป็น'+'
แต่สิ่งนี้สร้างปัญหาได้เนื่องจาก'+'
สถานะดังกล่าวสำหรับพื้นที่ไม่สามารถแยกความแตกต่างจากของจริง'+'
ใน'mailto'
URI เมื่อการผลิต'mailto'
URI ของพื้นที่ทั้งหมดควรจะเข้ารหัสเป็น
%20
และตัวอักษรอาจจะเข้ารหัสเป็น'+'
%2B
โปรดทราบว่า'+'
ตัวละครมักใช้เป็นส่วนหนึ่งของที่อยู่อีเมลเพื่อระบุ subaddress <bill+ietf@example.org>
เป็นเช่นใน