URI -> Raw, accumulated value Test that '&' is handled correctly: mailto:?&=&&&=&&&&subject=1&&&&=&=&&& -> 1 Test that URI is not treated as http: mailto:80 -> 80 Test that hfnames are percent-decoded before checking for a match: mailto:addr1?%54%6F=addr2&%74%4F=addr3 -> "addr1, addr2, addr2" mailto:?%53ubject=44&subjec%54=55 -> 55 mailto:?%43c=addr1&c%43=addr2&cc=addr3 -> "addr1, addr2, addr3" mailto:?%42cc=addr1&b%43%43=addr2&bcc=addr3 -> "addr1, addr2, addr3" mailto:?bod%59=line1&Bod%59=line2&body=line3 -> "line1\r\nline2\r\nline3" Test that hfname matching is case-insensitive: mailto:addr1?tO=addr2&To=addr3&to=addr4 -> "addr1, addr2, addr3, addr4" mailto:?BODY=line1&body=line2&BoDy=line3 -> "line1\r\nline2\r\nline3" mailto:?subject=1&SuBjEcT=2 -> 2 mailto:?subject=1&SUBJECT=2 -> 2 mailto:?subJECT=1 -> 1 mailto:?cC=addr1&cc=addr2&Cc=addr3&CC=addr4 -> "addr1, addr2, addr3, addr4" mailto:?bCc=addr1&bcc=addr2&BCC=addr3&BcC=addr4 -> "addr1, addr2, addr3, addr4" mailto:?foo=1&FoO=2 -> 2 mailto:?foo=1&FOO= -> "" Test that invalid %HH are treated literally: mailto:%%% -> %%% mailto:%3y -> %3y mailto:%3Y -> %3Y mailto:%zZ -> %zZ mailto:%y5 -> %y5 mailto:%Y5 -> %Y5 mailto:?to=%%% -> %%% mailto:?to=%3y -> %3y mailto:?to=%3Y -> %3Y mailto:?to=%zZ -> %zZ mailto:?to=%y5 -> %y5 mailto:?to=%Y5 -> %Y5 mailto:?cc=%%% -> %%% mailto:?cc=%3y -> %3y mailto:?cc=%3Y -> %3Y mailto:?cc=%zZ -> %zZ mailto:?cc=%y5 -> %y5 mailto:?cc=%Y5 -> %Y5 mailto:?bcc=%%% -> %%% mailto:?bcc=%3y -> %3y mailto:?bcc=%3Y -> %3Y mailto:?bcc=%zZ -> %zZ mailto:?bcc=%y5 -> %y5 mailto:?bcc=%Y5 -> %Y5 mailto:?subject=%%% -> %%% mailto:?subject=%3y -> %3y mailto:?subject=%3Y -> %3Y mailto:?subject=%zZ -> %zZ mailto:?subject=%y5 -> %y5 mailto:?subject=%Y5 -> %Y5 mailto:?body=%%% -> %%% mailto:?body=%3y -> %3y mailto:?body=%3Y -> %3Y mailto:?body=%zZ -> %zZ mailto:?body=%y5 -> %y5 mailto:?body=%Y5 -> %Y5 mailto:?foo=%%% -> %%% mailto:?foo=%3y -> %3y mailto:?foo=%3Y -> %3Y mailto:?foo=%zZ -> %zZ mailto:?foo=%y5 -> %y5 mailto:?foo=%Y5 -> %Y5 Test that '&' and '=' in the To value and '=' and '?' in hfvalues don't mess up parsing: mailto:addr1&=&=&=&=?to==?addr2?&to=addr3 -> "addr1&=&=&=&=, =?addr2?, addr3" Test that newlines are stripped from cc, bcc, subject and to, but not others: mailto:line1%0D%0Aline2 -> line1line2 mailto:line1%0d%0aline2 -> line1line2 mailto:?to=line1%0D%0Aline2 -> line1line2 mailto:?to=line1%0d%0aline2 -> line1line2 mailto:?subject=line1%0d%0aline2 -> line1line2 mailto:?subject=line1%0D%0Aline2 -> line1line2 mailto:?cc=line1%0d%0aline2 -> line1line2 mailto:?cc=line1%0D%0Aline2 -> line1line2 mailto:?bcc=line1%0D%0Aline2 -> line1line2 mailto:?bcc=line1%0d%0aline2 -> line1line2 mailto:?body=line1%0D%0Aline2 -> "line1\r\nline2" mailto:?body=line1%0d%0aline2 -> "line1\r\nline2" mailto:?foo=line1%0D%0Aline2 -> "line1\r\nline2" mailto:?foo=line1%0d%0aline2 -> "line1\r\nline2" Test that '+' is treated literally: mailto:+ -> + mailto:?to=+ -> + mailto:?cc=+ -> + mailto:?bcc=+ -> + mailto:?subject=+ -> + mailto:?body=+ -> + Test that webmailprovides.ini %keys handle '+' correctly (webmails use http decoders): mailto:+ -> %2B mailto:?to=+ -> %2B mailto:?cc=+ -> %2B mailto:?bcc=+ -> %2B mailto:?subject=+ -> %2B mailto:?body=+ -> %2B mailto:+?to=+&subject=+&body=+&cc=+&bcc=+ -> mailto%3A%252B%3Fto%3D%252B%26subject%3D%252B%26body%3D%252B%26cc%3D%252B%26bcc%3D%252B Test that webmailproviders.ini %keys percent-encode "'" (yahoo servers choke on it): mailto:' -> %27 mailto:?to=' -> %27 mailto:?cc=' -> %27 mailto:?bcc=' -> %27 mailto:subject=' -> %27 mailto:?body=' -> %27 mailto:'?to='&subject='&body='&cc='&bcc=' -> mailto%3A%2527%3Fto%3D%2527%26subject%3D%2527%26body%3D%2527%26cc%3D%2527%26bcc%3D%2527 Test that duplicate hfnames are accumulated properly: mailto:addr1?to=&to=&to=addr2&to=&to=&to=addr3&to=&to= -> "addr1, addr2, addr3" mailto:?to=addr2&to=addr3 -> "addr2, addr3" mailto:?cc=&cc=&cc=addr1&cc=&cc=&cc=addr2&cc=&cc= -> "addr1, addr2" mailto:?bcc=&bcc=&bcc=addr1&bcc=&bcc=&bcc=addr2&bcc=&bcc= -> "addr1, addr2" mailto:?subject=1&subject=2 -> 2 mailto:?subject=1&subject= -> "" mailto:?body=line1&body=line2 -> "line1\r\nline2" mailto:?body=&body=&body=line1 -> line1 mailto:?body=&body=&body=line1&body=&body=&body=&body=line5&body=&body= -> "line1\r\n\r\n\r\n\r\nline5\r\n\r\n" mailto:?body=%0D%0Aline2 -> "\r\nline2" mailto:?body=%0d%0aline2 -> "\r\nline2" mailto:?foo=1&foo=2 -> 2 mailto:foo=1&foo= -> "" Test that fragid's are discarded: mailto:addr1#%2C%20addr2 -> addr1 mailto:?to=addr1#%2C%20addr2 -> addr1 mailto:?subject=zip#zambam -> zip mailto:?body=zip#zambam -> zip mailto:?cc=zip#zambam -> zip mailto:?bcc=zip#zambam -> zip mailto:#?to=addr1 -> "" mailto:addr1?to=addr2#&to=addr3 -> "addr1, addr2" Test that webmailproviders.ini %s key doesn't discard '#': mailto:#?to=addr#2 -> mailto%3A%23%3Fto%3Daddr%232 Test that UTF-8 %HH are interpreted correctly: mailto:%E2%88%9A -> √ mailto:%e2%88%9a -> √ mailto:?to=%E2%88%9A -> √ mailto:?to=%e2%88%9a -> √ mailto:?subject=%E2%88%9A -> √ mailto:?subject=%e2%88%9a -> √ mailto:?body=%E2%88%9A -> √ mailto:?body=%e2%88%9a -> √ mailto:?cc=%E2%88%9A -> √ mailto:?cc=%e2%88%9a -> √ mailto:?bcc=%E2%88%9A -> √ mailto:?bcc=%e2%88%9a -> √ Test that unsafe %HH are treated literally: mailto:%00 -> %00 mailto:%01 -> %01 mailto:%02 -> %02 mailto:%03 -> %03 mailto:%04 -> %04 mailto:%05 -> %05 mailto:%06 -> %06 mailto:%07 -> %07 mailto:%08 -> %08 mailto:%0B -> %0B mailto:%0b -> %0b mailto:%0C -> %0C mailto:%0c -> %0c mailto:%0E -> %0E mailto:%0e -> %0e mailto:%0F -> %0F mailto:%0f -> %0f mailto:%10 -> %10 mailto:%11 -> %11 mailto:%12 -> %12 mailto:%13 -> %13 mailto:%14 -> %14 mailto:%15 -> %15 mailto:%16 -> %16 mailto:%17 -> %17 mailto:%18 -> %18 mailto:%19 -> %19 mailto:%1A -> %1A mailto:%1a -> %1a mailto:%1B -> %1B mailto:%1b -> %1b mailto:%1C -> %1C mailto:%1c -> %1c mailto:%1D -> %1D mailto:%1d -> %1d mailto:%1E -> %1E mailto:%1e -> %1e mailto:%1F -> %1F mailto:%1f -> %1f mailto:%09%0D%0A -> "\t" mailto:%09%0d%0a -> "\t" mailto:?to=%00 -> %00 mailto:?to=%01 -> %01 mailto:?to=%02 -> %02 mailto:?to=%03 -> %03 mailto:?to=%04 -> %04 mailto:?to=%05 -> %05 mailto:?to=%06 -> %06 mailto:?to=%07 -> %07 mailto:?to=%08 -> %08 mailto:?to=%0B -> %0B mailto:?to=%0b -> %0b mailto:?to=%0C -> %0C mailto:?to=%0c -> %0c mailto:?to=%0E -> %0E mailto:?to=%0e -> %0e mailto:?to=%0F -> %0F mailto:?to=%0f -> %0f mailto:?to=%10 -> %10 mailto:?to=%11 -> %11 mailto:?to=%12 -> %12 mailto:?to=%13 -> %13 mailto:?to=%14 -> %14 mailto:?to=%15 -> %15 mailto:?to=%16 -> %16 mailto:?to=%17 -> %17 mailto:?to=%18 -> %18 mailto:?to=%19 -> %19 mailto:?to=%1A -> %1A mailto:?to=%1a -> %1a mailto:?to=%1B -> %1B mailto:?to=%1b -> %1b mailto:?to=%1C -> %1C mailto:?to=%1c -> %1c mailto:?to=%1D -> %1D mailto:?to=%1d -> %1d mailto:?to=%1E -> %1E mailto:?to=%1e -> %1e mailto:?to=%1F -> %1F mailto:?to=%1f -> %1f mailto:?to=%09%0D%0A -> "\t" mailto:?to=%09%0d%0a -> "\t" mailto:?subject=%00 -> %00 mailto:?subject=%01 -> %01 mailto:?subject=%02 -> %02 mailto:?subject=%03 -> %03 mailto:?subject=%04 -> %04 mailto:?subject=%05 -> %05 mailto:?subject=%06 -> %06 mailto:?subject=%07 -> %07 mailto:?subject=%08 -> %08 mailto:?subject=%0B -> %0B mailto:?subject=%0b -> %0b mailto:?subject=%0C -> %0C mailto:?subject=%0c -> %0c mailto:?subject=%0E -> %0E mailto:?subject=%0e -> %0e mailto:?subject=%0F -> %0F mailto:?subject=%0f -> %0f mailto:?subject=%10 -> %10 mailto:?subject=%11 -> %11 mailto:?subject=%12 -> %12 mailto:?subject=%13 -> %13 mailto:?subject=%14 -> %14 mailto:?subject=%15 -> %15 mailto:?subject=%16 -> %16 mailto:?subject=%17 -> %17 mailto:?subject=%18 -> %18 mailto:?subject=%19 -> %19 mailto:?subject=%1A -> %1A mailto:?subject=%1a -> %1a mailto:?subject=%1B -> %1B mailto:?subject=%1b -> %1b mailto:?subject=%1C -> %1C mailto:?subject=%1c -> %1c mailto:?subject=%1D -> %1D mailto:?subject=%1d -> %1d mailto:?subject=%1E -> %1E mailto:?subject=%1e -> %1e mailto:?subject=%1F -> %1F mailto:?subject=%1f -> %1f mailto:?subject=%09%0D%0A -> "\t" mailto:?subject=%09%0d%0a -> "\t" mailto:?body=%00 -> %00 mailto:?body=%01 -> %01 mailto:?body=%02 -> %02 mailto:?body=%03 -> %03 mailto:?body=%04 -> %04 mailto:?body=%05 -> %05 mailto:?body=%06 -> %06 mailto:?body=%07 -> %07 mailto:?body=%08 -> %08 mailto:?body=%0B -> %0B mailto:?body=%0b -> %0b mailto:?body=%0C -> %0C mailto:?body=%0c -> %0c mailto:?body=%0E -> %0E mailto:?body=%0e -> %0e mailto:?body=%0F -> %0F mailto:?body=%0f -> %0f mailto:?body=%10 -> %10 mailto:?body=%11 -> %11 mailto:?body=%12 -> %12 mailto:?body=%13 -> %13 mailto:?body=%14 -> %14 mailto:?body=%15 -> %15 mailto:?body=%16 -> %16 mailto:?body=%17 -> %17 mailto:?body=%18 -> %18 mailto:?body=%19 -> %19 mailto:?body=%1A -> %1A mailto:?body=%1a -> %1a mailto:?body=%1B -> %1B mailto:?body=%1b -> %1b mailto:?body=%1C -> %1C mailto:?body=%1c -> %1c mailto:?body=%1D -> %1D mailto:?body=%1d -> %1d mailto:?body=%1E -> %1E mailto:?body=%1e -> %1e mailto:?body=%1F -> %1F mailto:?body=%1f -> %1f mailto:?body=%09%0D%0A -> "\t\r\n" mailto:?body=%09%0d%0a -> "\t\r\n" mailto:?cc=%00 -> %00 mailto:?cc=%01 -> %01 mailto:?cc=%02 -> %02 mailto:?cc=%03 -> %03 mailto:?cc=%04 -> %04 mailto:?cc=%05 -> %05 mailto:?cc=%06 -> %06 mailto:?cc=%07 -> %07 mailto:?cc=%08 -> %08 mailto:?cc=%0B -> %0B mailto:?cc=%0b -> %0b mailto:?cc=%0C -> %0C mailto:?cc=%0c -> %0c mailto:?cc=%0E -> %0E mailto:?cc=%0e -> %0e mailto:?cc=%0F -> %0F mailto:?cc=%0f -> %0f mailto:?cc=%10 -> %10 mailto:?cc=%11 -> %11 mailto:?cc=%12 -> %12 mailto:?cc=%13 -> %13 mailto:?cc=%14 -> %14 mailto:?cc=%15 -> %15 mailto:?cc=%16 -> %16 mailto:?cc=%17 -> %17 mailto:?cc=%18 -> %18 mailto:?cc=%19 -> %19 mailto:?cc=%1A -> %1A mailto:?cc=%1a -> %1a mailto:?cc=%1B -> %1B mailto:?cc=%1b -> %1b mailto:?cc=%1C -> %1C mailto:?cc=%1c -> %1c mailto:?cc=%1D -> %1D mailto:?cc=%1d -> %1d mailto:?cc=%1E -> %1E mailto:?cc=%1e -> %1e mailto:?cc=%1F -> %1F mailto:?cc=%1f -> %1f mailto:?cc=%09%0D%0A -> "\t" mailto:?cc=%09%0d%0a -> "\t" mailto:?bcc=%00 -> %00 mailto:?bcc=%01 -> %01 mailto:?bcc=%02 -> %02 mailto:?bcc=%03 -> %03 mailto:?bcc=%04 -> %04 mailto:?bcc=%05 -> %05 mailto:?bcc=%06 -> %06 mailto:?bcc=%07 -> %07 mailto:?bcc=%08 -> %08 mailto:?bcc=%0B -> %0B mailto:?bcc=%0b -> %0b mailto:?bcc=%0C -> %0C mailto:?bcc=%0c -> %0c mailto:?bcc=%0E -> %0E mailto:?bcc=%0e -> %0e mailto:?bcc=%0F -> %0F mailto:?bcc=%0f -> %0f mailto:?bcc=%10 -> %10 mailto:?bcc=%11 -> %11 mailto:?bcc=%12 -> %12 mailto:?bcc=%13 -> %13 mailto:?bcc=%14 -> %14 mailto:?bcc=%15 -> %15 mailto:?bcc=%16 -> %16 mailto:?bcc=%17 -> %17 mailto:?bcc=%18 -> %18 mailto:?bcc=%19 -> %19 mailto:?bcc=%1A -> %1A mailto:?bcc=%1a -> %1a mailto:?bcc=%1B -> %1B mailto:?bcc=%1b -> %1b mailto:?bcc=%1C -> %1C mailto:?bcc=%1c -> %1c mailto:?bcc=%1D -> %1D mailto:?bcc=%1d -> %1d mailto:?bcc=%1E -> %1E mailto:?bcc=%1e -> %1e mailto:?bcc=%1F -> %1F mailto:?bcc=%1f -> %1f mailto:?bcc=%09%0D%0A -> "\t" mailto:?bcc=%09%0d%0a -> "\t" mailto:?foo=%00 -> %00 mailto:?foo=%01 -> %01 mailto:?foo=%02 -> %02 mailto:?foo=%03 -> %03 mailto:?foo=%04 -> %04 mailto:?foo=%05 -> %05 mailto:?foo=%06 -> %06 mailto:?foo=%07 -> %07 mailto:?foo=%08 -> %08 mailto:?foo=%0B -> %0B mailto:?foo=%0b -> %0b mailto:?foo=%0C -> %0C mailto:?foo=%0c -> %0c mailto:?foo=%0E -> %0E mailto:?foo=%0e -> %0e mailto:?foo=%0F -> %0F mailto:?foo=%0f -> %0f mailto:?foo=%10 -> %10 mailto:?foo=%11 -> %11 mailto:?foo=%12 -> %12 mailto:?foo=%13 -> %13 mailto:?foo=%14 -> %14 mailto:?foo=%15 -> %15 mailto:?foo=%16 -> %16 mailto:?foo=%17 -> %17 mailto:?foo=%18 -> %18 mailto:?foo=%19 -> %19 mailto:?foo=%1A -> %1A mailto:?foo=%1a -> %1a mailto:?foo=%1B -> %1B mailto:?foo=%1b -> %1b mailto:?foo=%1C -> %1C mailto:?foo=%1c -> %1c mailto:?foo=%1D -> %1D mailto:?foo=%1d -> %1d mailto:?foo=%1E -> %1E mailto:?foo=%1e -> %1e mailto:?foo=%1F -> %1F mailto:?foo=%1f -> %1f mailto:?foo=%09%0D%0A -> "\t\r\n" mailto:?foo=%09%0d%0a -> "\t\r\n" Test that unsafe raw are percent-encoded to %HH and the %HH are treated literally: "mailto:\x00" -> %00 "mailto:\x01" -> %01 "mailto:\x02" -> %02 "mailto:\x03" -> %03 "mailto:\x04" -> %04 "mailto:\x05" -> %05 "mailto:\x06" -> %06 "mailto:\x07" -> %07 "mailto:\x08" -> %08 "mailto:\x0B" -> %0B "mailto:\x0C" -> %0C "mailto:\x0E" -> %0E "mailto:\x0F" -> %0F "mailto:\x10" -> %10 "mailto:\x11" -> %11 "mailto:\x12" -> %12 "mailto:\x13" -> %13 "mailto:\x14" -> %14 "mailto:\x15" -> %15 "mailto:\x16" -> %16 "mailto:\x17" -> %17 "mailto:\x18" -> %18 "mailto:\x19" -> %19 "mailto:\x1A" -> %1A "mailto:\x1B" -> %1B "mailto:\x1C" -> %1C "mailto:\x1D" -> %1D "mailto:\x1E" -> %1E "mailto:\x1F" -> %1F "mailto:\t\r\n" -> "\t" "mailto:?to=\x00" -> %00 "mailto:?to=\x01" -> %01 "mailto:?to=\x02" -> %02 "mailto:?to=\x03" -> %03 "mailto:?to=\x04" -> %04 "mailto:?to=\x05" -> %05 "mailto:?to=\x06" -> %06 "mailto:?to=\x07" -> %07 "mailto:?to=\x08" -> %08 "mailto:?to=\x0B" -> %0B "mailto:?to=\x0C" -> %0C "mailto:?to=\x0E" -> %0E "mailto:?to=\x0F" -> %0F "mailto:?to=\x10" -> %10 "mailto:?to=\x11" -> %11 "mailto:?to=\x12" -> %12 "mailto:?to=\x13" -> %13 "mailto:?to=\x14" -> %14 "mailto:?to=\x15" -> %15 "mailto:?to=\x16" -> %16 "mailto:?to=\x17" -> %17 "mailto:?to=\x18" -> %18 "mailto:?to=\x19" -> %19 "mailto:?to=\x1A" -> %1A "mailto:?to=\x1B" -> %1B "mailto:?to=\x1C" -> %1C "mailto:?to=\x1D" -> %1D "mailto:?to=\x1E" -> %1E "mailto:?to=\x1F" -> %1F "mailto:?to=\t\r\n" -> "\t" "mailto:?subject=\x00" -> %00 "mailto:?subject=\x01" -> %01 "mailto:?subject=\x02" -> %02 "mailto:?subject=\x03" -> %03 "mailto:?subject=\x04" -> %04 "mailto:?subject=\x05" -> %05 "mailto:?subject=\x06" -> %06 "mailto:?subject=\x07" -> %07 "mailto:?subject=\x08" -> %08 "mailto:?subject=\x0B" -> %0B "mailto:?subject=\x0C" -> %0C "mailto:?subject=\x0E" -> %0E "mailto:?subject=\x0F" -> %0F "mailto:?subject=\x10" -> %10 "mailto:?subject=\x11" -> %11 "mailto:?subject=\x12" -> %12 "mailto:?subject=\x13" -> %13 "mailto:?subject=\x14" -> %14 "mailto:?subject=\x15" -> %15 "mailto:?subject=\x16" -> %16 "mailto:?subject=\x17" -> %17 "mailto:?subject=\x18" -> %18 "mailto:?subject=\x19" -> %19 "mailto:?subject=\x1A" -> %1A "mailto:?subject=\x1B" -> %1B "mailto:?subject=\x1C" -> %1C "mailto:?subject=\x1D" -> %1D "mailto:?subject=\x1E" -> %1E "mailto:?subject=\x1F" -> %1F "mailto:?subject=\t\r\n" -> "\t" "mailto:?body=\x00" -> %00 "mailto:?body=\x01" -> %01 "mailto:?body=\x02" -> %02 "mailto:?body=\x03" -> %03 "mailto:?body=\x04" -> %04 "mailto:?body=\x05" -> %05 "mailto:?body=\x06" -> %06 "mailto:?body=\x07" -> %07 "mailto:?body=\x08" -> %08 "mailto:?body=\x0B" -> %0B "mailto:?body=\x0C" -> %0C "mailto:?body=\x0E" -> %0E "mailto:?body=\x0F" -> %0F "mailto:?body=\x10" -> %10 "mailto:?body=\x11" -> %11 "mailto:?body=\x12" -> %12 "mailto:?body=\x13" -> %13 "mailto:?body=\x14" -> %14 "mailto:?body=\x15" -> %15 "mailto:?body=\x16" -> %16 "mailto:?body=\x17" -> %17 "mailto:?body=\x18" -> %18 "mailto:?body=\x19" -> %19 "mailto:?body=\x1A" -> %1A "mailto:?body=\x1B" -> %1B "mailto:?body=\x1C" -> %1C "mailto:?body=\x1D" -> %1D "mailto:?body=\x1E" -> %1E "mailto:?body=\x1F" -> %1F "mailto:?body=\t\r\n" -> "\t\r\n" "mailto:?cc=\x00" -> %00 "mailto:?cc=\x01" -> %01 "mailto:?cc=\x02" -> %02 "mailto:?cc=\x03" -> %03 "mailto:?cc=\x04" -> %04 "mailto:?cc=\x05" -> %05 "mailto:?cc=\x06" -> %06 "mailto:?cc=\x07" -> %07 "mailto:?cc=\x08" -> %08 "mailto:?cc=\x0B" -> %0B "mailto:?cc=\x0C" -> %0C "mailto:?cc=\x0E" -> %0E "mailto:?cc=\x0F" -> %0F "mailto:?cc=\x10" -> %10 "mailto:?cc=\x11" -> %11 "mailto:?cc=\x12" -> %12 "mailto:?cc=\x13" -> %13 "mailto:?cc=\x14" -> %14 "mailto:?cc=\x15" -> %15 "mailto:?cc=\x16" -> %16 "mailto:?cc=\x17" -> %17 "mailto:?cc=\x18" -> %18 "mailto:?cc=\x19" -> %19 "mailto:?cc=\x1A" -> %1A "mailto:?cc=\x1B" -> %1B "mailto:?cc=\x1C" -> %1C "mailto:?cc=\x1D" -> %1D "mailto:?cc=\x1E" -> %1E "mailto:?cc=\x1F" -> %1F "mailto:?cc=\t\r\n" -> "\t" "mailto:?bcc=\x00" -> %00 "mailto:?bcc=\x01" -> %01 "mailto:?bcc=\x02" -> %02 "mailto:?bcc=\x03" -> %03 "mailto:?bcc=\x04" -> %04 "mailto:?bcc=\x05" -> %05 "mailto:?bcc=\x06" -> %06 "mailto:?bcc=\x07" -> %07 "mailto:?bcc=\x08" -> %08 "mailto:?bcc=\x0B" -> %0B "mailto:?bcc=\x0C" -> %0C "mailto:?bcc=\x0E" -> %0E "mailto:?bcc=\x0F" -> %0F "mailto:?bcc=\x10" -> %10 "mailto:?bcc=\x11" -> %11 "mailto:?bcc=\x12" -> %12 "mailto:?bcc=\x13" -> %13 "mailto:?bcc=\x14" -> %14 "mailto:?bcc=\x15" -> %15 "mailto:?bcc=\x16" -> %16 "mailto:?bcc=\x17" -> %17 "mailto:?bcc=\x18" -> %18 "mailto:?bcc=\x19" -> %19 "mailto:?bcc=\x1A" -> %1A "mailto:?bcc=\x1B" -> %1B "mailto:?bcc=\x1C" -> %1C "mailto:?bcc=\x1D" -> %1D "mailto:?bcc=\x1E" -> %1E "mailto:?bcc=\x1F" -> %1F "mailto:?bcc=\t\r\n" -> "\t" "mailto:?foo=\x00" -> %00 "mailto:?foo=\x01" -> %01 "mailto:?foo=\x02" -> %02 "mailto:?foo=\x03" -> %03 "mailto:?foo=\x04" -> %04 "mailto:?foo=\x05" -> %05 "mailto:?foo=\x06" -> %06 "mailto:?foo=\x07" -> %07 "mailto:?foo=\x08" -> %08 "mailto:?foo=\x0B" -> %0B "mailto:?foo=\x0C" -> %0C "mailto:?foo=\x0E" -> %0E "mailto:?foo=\x0F" -> %0F "mailto:?foo=\x10" -> %10 "mailto:?foo=\x11" -> %11 "mailto:?foo=\x12" -> %12 "mailto:?foo=\x13" -> %13 "mailto:?foo=\x14" -> %14 "mailto:?foo=\x15" -> %15 "mailto:?foo=\x16" -> %16 "mailto:?foo=\x17" -> %17 "mailto:?foo=\x18" -> %18 "mailto:?foo=\x19" -> %19 "mailto:?foo=\x1A" -> %1A "mailto:?foo=\x1B" -> %1B "mailto:?foo=\x1C" -> %1C "mailto:?foo=\x1D" -> %1D "mailto:?foo=\x1E" -> %1E "mailto:?foo=\x1F" -> %1F "mailto:?foo=\t\r\n" -> "\t\r\n"