[1] [DFN[[RUBYB[妥当な電子メール・アドレス]@en[valid e‐mail address]]]]および[DFN[[RUBYB[妥当な電子メール・アドレス・リスト]@en[valid e‐mail address list]]]]は、 [[HTML]] における[[電子メール]]の[[アドレス]]の表現方法として [[Web Applications 1.0]] ([[HTML5]]) で規定されている[[構文]]です。 * 仕様書 -[2] [[Web Applications 1.0]] ([[HTML5]]) -- [[妥当な電子メール・アドレス]] -- [[妥当な電子メール・アドレス・リスト]] * 構文 ** 妥当な電子メール・アドレス [3] [[妥当な電子メール・アドレス]]は、 [[ABNF]] ([[STD 68]]) [[生成規則]] - [CODE(ABNF)@en[1*( [[atext]] / "." ) "@" [[ldh-str]] *( "." [[ldh-str]] )]] -- [CODE(ABNF)@en[[[atext]]]] は [[RFC 5322]] 3.2.3 節で定義されているもの -- [CODE(ABNF)@en[[[ldh-str]]]] は [[RFC 1034]] 3.5 節で定義されているもの と[[一致]]する[[文字列]]です [SRC[[[Web Applications 1.0]]]]。 [6] [[Web Applications 1.0]] は [[Note]] ([[参考]]) で次のように述べています。 - この[[要件]]は [[RFC 5322]] の[[意図的違反]]である - [[RFC 5322]] の[[電子メイル・アドレス]]の構文は、[[HTML]] での利用には実用的でない -- [[local-part]] が厳しすぎる -- [[domain]] が曖昧すぎる -- 緩すぎる ([[注釈]]、[[空白文字]]、[[引用文字列]]を変なところで認めている) ** 妥当な電子メール・アドレス・リスト [4] [[妥当な電子メール・アドレス・リスト]]は、[[妥当な電子メール・アドレス]]を[[字句]]とする、 [[読点分離字句の集合]]です [SRC[[[Web Applications 1.0]]]]。 * 処理モデル ** 妥当な電子メール・アドレス・リスト [5] [[利用者エージェント]]は[[妥当な電子メール・アドレス・リスト]]から[[字句]]の[[リスト]]を得るに当たり、 [[読点で文字列を分離]]しなければ[['''なりません''']] [SRC[[[Web Applications 1.0]]]]。 * 歴史 [8] [[Web Forms 2.0]] ではじめて [CODE(HTML)@en[[[]]]] が規定されましたが、当時は [[RFC 2822]] (後の [[RFC 5322]]) のものから[[注釈]]などを認めないというような記述で、 構文には特に名前は与えられていませんでした。 [9] [[Web Forms 2.0]] の [[HTML5]] への統合に伴い仕様書が書き直された際に、 「[[妥当なメール・アドレス]]」と呼ばれるようになりました。 [10] 更に [CODE(HTMLa)@en[[[multiple]]]] [[属性]]が追加され、 「[[妥当なメール・アドレス・リスト]]」なる構文も定義されました。 @@ >>9-10 の辺りの時系列は要確認です。 [11] その後定義が実用上の観点から見直され、 [[RFC 5322]] に対する[[意図的違反]]が行われるに至りました。 - - [12] [CITE@en[Web Applications 1.0 r5796 allow @localhost addresses for testing.]] ( ([TIME[2011-01-21 10:47:00 +09:00]] 版)) * 関連 [7] [[妥当な電子メール・アドレス]]や[[妥当な電子メール・アドレス・リスト]]は [CODE(HTML)@en[[[]]]] の[[値]]で用いられています。