プロが教えるわが家の防犯対策術!

RFC821
http://www.ietf.org/rfc/rfc0821.txt
を見ると次のように記述されています。

<mailbox> ::= <local-part> "@" <domain>
<domain> ::= <element> | <element> "." <domain>
<element> ::= <name> | "#" <number> | "[" <dotnum> "]"
<name> ::= <a> <ldh-str> <let-dig>
<ldh-str> ::= <let-dig-hyp> | <let-dig-hyp> <ldh-str>
<let-dig> ::= <a> | <d>
<let-dig-hyp> ::= <a> | <d> | "-"

<a> ::= any one of the 52 alphabetic characters A through Z in upper case and a through z in lower case
<d> ::= any one of the ten digits 0 through 9

で、これを読むと,

<domain>は1つのelementまたは,ピリオド区切りで任意の個数のelementのどちらかであり,

<element>は"#"<num>や"["<dotnum>"]"
の指定でなければ<name>であり,
<name> ::= <a> <ldh-str> <let-dig>
であるからnameは3文字以上でなければならない

・・・と思うのだけれど

yahooのフリーのアドレスは
example@yahoo.co.jp
のようにcoやjpが既に2文字でこれに当てはまらないような気がするのですが,俺は何か間違っているんでしょうか?
===============
もう一つオマケ。
<special> に含まれるのは ( "@" """ )であって,
( "@" | """ ) ではないんですよね?

A 回答 (1件)

RFC821はobsoleteです。

RFC2822を見てください。
こっちでは、ドメインの要素は1文字以上となっています。
数字で始まっても良くなりました。

dot-atom = [CFWS] dot-atom-text [CFWS]
dot-atom-text = 1*atext *("." 1*atext)
    • good
    • 0
この回答へのお礼

ありがとうございます。確認できました。

お礼日時:2007/12/13 19:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!