ã¡ã¼ã«ã¢ãã¬ã¹ã®ã«ã¼ã«ã®ã¾ã¨ãç³»ã®ãµã¤ãã®å 容ãééã£ã¦ãã¾ãã ãªã®ã§ããã®é¡ã®ã¾ã¨ãã¯å®æã«ä¿¡ããªãããã« ãã¨ãã注æåèµ·ããã¦ããã¾ãã
追è¨ï¼2013/11/27ï¼
twitterãã¯ã¦ããã¿ã¦ããã¨ããããã¦ã¼ã¶ã¼ã¸ã®åèã¨ãã観ç¹ã§ã¯ã¾ã¨ãã®å 容ééã£ã¦ãªããã¨ãããæè¦ãããããããã ãã¾ããã®ã§ãè£è¶³ããã¦ããã¾ããã
ã©ãããã«ã¼ã«ãã¨ããã©ãã«ãé¿ããããã®ã¬ã¤ãã©ã¤ã³ããæ··åããã¦ããããã«æãã¾ããã¾ã¨ãã§ç´¹ä»ããã¦ããå
容ãã¦ã¼ã¶åãã®ãã¬ã¤ãã©ã¤ã³ããªã®ã§ããã°ãã+
è¨å·ä½¿ããã¦ãããããããæå¥ã¯ããã¾ããã
ã§ãããã»ã¨ãã©ã®ã¾ã¨ãã¯ä¸è¨ã®å 容ããã«ã¼ã«ãã¨ãã¦èª¬æãã¦ãã¾ããã²ã©ããã®ã«ã¯RFCã«åºã¥ãã¦ã¾ã¨ããæ¸ããããã«ãã¹ãªã¼ããããè¨äºãããã¾ããããã®ãããªç¾ç¶ãæãããã®ãããªè¨äºãæ¸ããã®ã§ãã
ããããããã«æ°ã¥ããçºç«¯ã¯@kusano_kããã®ã¤ã¶ããã§ãã
ééã£ã¦ãããããã®åºå ¸ã¯ä½ãªã®ã ããï¼"ã»æ¬¡ã®æåã¯ååã¨ãã¦ä½¿ç¨ã§ããªãã/ ! â@ # $ % & â ( ) = ~ | \ ^ : ; * + ? < > , ` [ ] { }"大ä¸å¤«ï¼å®ã¯ç¥ããªãã¡ã¼ã«ã¢ãã¬ã¹â¦URL
ã°ã°ã£ã¦ã¿ãã¨ãããä¸ä½é£ã®ãµã¤ãã®å 容㯠è»ä¸¦ã¿ééã£ã¦ãã¾ãã ãããã¯ç±ã ããäºæ ã§ãã
å 容ãééã£ã¦ãæ¤ç´¢çµæã®ä¸ä½é£ã¯ãã¡ãã
ï¼2013/11/27ï¼æããã¨ãæ¬æã§ã¯ãªãã£ãã®ã§åé¤ãã¾ããï¼
ããã¦ãééã£ã¦ããã®ã¯ãã®é¨åã§ãï¼
- 次ã®æåã¯ååã¨ãã¦ä½¿ç¨ã§ããªãã
/ ! â@ # $ % & â ( ) = ~ | \ ^ : ; * + ? < > , ` [ ] { }
ï¼
ã®ç´åã«ã¯è±æ°åãã使ããªãã.
ï¼ãããï¼ã_
ï¼ã¢ã³ãã¼ã¹ã³ã¢ï¼ã¯2ã¤ä»¥ä¸é£ç¶ãã¦ã¯ãããªãã- ã¡ã¼ã«ã¢ãã¬ã¹ã®æåã®æåã¯è±æ°åãã使ããªãã
æ£ããã¯ï¼
åè§ã®è±æ°åè¨å·ã§ããã°ä½¿ç¨ã§ããªãæåã¯ãªã
ãã ãä¸é¨ã®è¨å·ï¼
( ) , : ; < > @ [ ] " \
ï¼ãå«ããå ´åã«ã¯@
ãããåã®é¨åå ¨ä½ã"
ã§å²ãå¿ è¦ããããç¹ã«"
ã¨\
ãå«ããå ´åã«ã¯ãç´åã«\
ãé ç½®ããªããã°ãªããªãã@
ã®ç´åã«ã¯è±æ°åã»è¨å·ï¼! # $ % & ' * + - / = ? ^ _ ` { | } ~ "
ï¼ã使ãããã ã
"
ã使ãå ´åã«ã¯ãå é ã«ã"
ãé ç½®ããå¿ è¦ãããã@
ã®åã®é¨åå ¨ä½ã"
ã§å²ãã§ããªãå ´åã¯.
ãé£ç¶ããã¦ã¯ãããªãã¡ã¼ã«ã¢ãã¬ã¹ã®æåã®æåã¯è±æ°åã»è¨å·ï¼
! # $ % & ' * + - / = ? ^ _ ` { | } ~ "
ï¼ã使ãããã ã
"
ã使ãå ´åã«ã¯@
ã®ç´åã«ã"
ãé ç½®ããå¿ è¦ãããã
解説
RFC5322 ã«æ¸ããã¦ããã¡ã¼ã«ã¢ãã¬ã¹ã®ä»æ§ãå¼ç¨ãã¦ãããããã®é ç®ã解説ãã¦ããã¾ãã
ééã1: 次ã®æåã¯ååã¨ãã¦ä½¿ç¨ã§ããªã
æ£ããã¯ããåè§ã®è±æ°åè¨å·ã§ããã°ä½¿ç¨ã§ããªãæåã¯ãªããã§ãï¼å³å¯ã«ã¯ å°åå¯è½ãªASCIIæååã§ä½¿ç¨ã§ããªãæåã¯ãªããã¨ãããã¨ã§ãï¼ããã ãä¸é¨ã®è¨å·ï¼( ) , . : ; < > @ [ ] " \
ï¼ã使ãã¨ãã«ã¯æ¡ä»¶ãããã®ã§æ³¨æãå¿
è¦ã§ãï¼å¾è¿°ï¼ã
RFC5322 ã®ã3.4.1 addr-spec ä»æ§ãã§ã¯ãlocal-partï¼@
ã®åã®é¨åï¼ã« dot-atom ã使ããã¨æ¸ãã¦ããã¾ããã
ãã® dot-atom ã¯ã3.2.3 ã¢ãã ã㧠atext ã .
ç¹ããã§ä½¿ããã¨æ¸ããã¦ãã¾ãã
ããã¦ããã® atext ã¯è±æ°åã»è¨å·ï¼! # $ % & ' * + - / = ? ^ _ ` { | } ~
ï¼ãå«ã¿ã¾ãããã使ããè¨å·ã¯ãã£ã¨å¤ãã®ã§ãã
ã¾ããlocal-part ã« quoted-string ã使ããã¨ãæ¸ããã¦ãããquoted-string 㯠"
ã§å²ã¾ããæååã§ãããã®æååã«ã¯ "
㨠\
ãé¤ã ãã¹ã¦ã®è¨å· ï¼å°åå¯è½ ASCII è¨å·ï¼ãå©ç¨ã§ãã¾ãã
ããã«ãquoted-string ã®ä¸ã§ã¯ quoted-pair ãå©ç¨ã§ããã¨æ¸ããã¦ããã®ã§ã"
㨠\
ã§ããããç´åã« \
ãé
ç½®ããã°å©ç¨ã§ããã®ã§ãã
ééã2: ï¼ ã®ç´åã«ã¯è±æ°åãã使ããªã
æ£ããã¯ãã@
ã®ç´åã«ã¯è±æ°å㨠! # $ % & ' * + - / = ? ^ _ ` { | } ~ "
ã使ãããã§ãã
RFC5322 ã®ã3.4.1 addr-spec ä»æ§ãã«ãã㨠local-part ã®æ«å°¾ã¯ atext ã quoted-string ã®ã©ã¡ããã«ãªãã®ã§ãatext ã§ä½¿ããè±æ°åã»è¨å·ï¼! # $ % & ' * + - / = ? ^ _ ` { | } ~ "
ï¼ã¨ qupted-string ã®æå¾ã® "
ã使ããã¨ãããã¨ã«ãªãã¾ãããã ãquoted-string ã«ããå ´åã«ã¯ãå
é ã« "
ãé
ç½®ããå¿
è¦ãããã¾ããã
ééã3: ãããã¨ã¢ã³ãã¼ã¹ã³ã¢ã¯2ã¤ä»¥ä¸é£ç¶ãã¦ã¯ãããªã
æ£ããã¯ãã@
ã®åã®é¨åå
¨ä½ã "
ã§å²ãã§ããªãå ´å㯠.
ãé£ç¶ããã¦ã¯ãããªããã§ãã
dot-atom ã®å ´å㯠.
ãé£ç¶ããããã¨ã¯ã§ãã¾ããããquoted-string ã®ä¸ã§ããã°ã.
ãé£ç¶ããã¦ãæ§ãã¾ããã
ééã4: ã¡ã¼ã«ã¢ãã¬ã¹ã®æåã®æåã¯è±æ°åãã使ããªã
æ£ããã¯ããã¡ã¼ã«ã¢ãã¬ã¹ã®æåã®æåã«ã¯è±æ°åã»è¨å·ï¼! # $ % & ' * + - / = ? ^ _ ` { | } ~ "
ï¼ã使ãããã§ãã
RFC5322 ã®ã3.4.1 addr-spec ä»æ§ãã«ãã㨠local-part ã®å
é 㯠atext ã quoted-string ã®ã©ã¡ããã«ãªãã®ã§ã atext ã§ä½¿ããè±æ°åã»è¨å·ï¼! # $ % & ' * + - / = ? ^ _ ` { | } ~ "
ï¼ã¨ quoted-string ã®å
é ã® "
ã使ãã¾ãããã ãquoted-string ã«ããå ´åã¯ã@
ã®ç´åã« "
ãé
ç½®ããå¿
è¦ãããã¾ãã
ã¾ã¨ã
åé ã§ç´¹ä»ããã¾ã¨ããµã¤ãã®å 容ã¯ãã©ããã³ãããå¼·ãçãããæ¸ãæ¹ã§ãã RFC ã®ææ³å®ç¾©ãèªãã®ã¯é£ãããã¨ã¯ãããããã¾ãã®ã§ãRFCèªãã§ç¢ºèªãããã¨ã¯ããã¾ããã ã ã¨ãã¦ããã³ãããã¦å ¬éããåã«ãå 容ãééã£ã¦ããããããä¼è調ã¯ã¢ã¤ã·ã¤ãã¨ãæ°ã¥ãã¦è©³ãã人ã«èããªããã¦æ¬²ããã£ããã®ã§ãã