-
Notifications
You must be signed in to change notification settings - Fork 4
/
250.txt
96 lines (68 loc) · 5.39 KB
/
250.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
[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]])
-- [[妥当な電子メール・アドレス]]
<http://www.whatwg.org/specs/web-apps/current-work/complete.html#valid-e-mail-address>
-- [[妥当な電子メール・アドレス・リスト]]
<http://www.whatwg.org/specs/web-apps/current-work/complete.html#valid-e-mail-address-list>
* 構文
** 妥当な電子メール・アドレス
[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[[[<input type=email>]]]]
が規定されましたが、当時は [[RFC 2822]] (後の [[RFC 5322]])
のものから[[注釈]]などを認めないというような記述で、
構文には特に名前は与えられていませんでした。
[9] [[Web Forms 2.0]] の [[HTML5]] への統合に伴い仕様書が書き直された際に、
「[[妥当なメール・アドレス]]」と呼ばれるようになりました。
[10] 更に [CODE(HTMLa)@en[[[multiple]]]] [[属性]]が追加され、
「[[妥当なメール・アドレス・リスト]]」なる構文も定義されました。
@@ >>9-10 の辺りの時系列は要確認です。
[11] その後定義が実用上の観点から見直され、 [[RFC 5322]]
に対する[[意図的違反]]が行われるに至りました。
- <http://html5.org/tools/web-apps-tracker?from=3715&to=3716>
- <http://html5.org/tools/web-apps-tracker?from=3716&to=3717>
[12] [CITE@en[Web Applications 1.0 r5796 allow @localhost addresses for testing.]]
( ([TIME[2011-01-21 10:47:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=5795&to=5796>
* 関連
[7] [[妥当な電子メール・アドレス]]や[[妥当な電子メール・アドレス・リスト]]は
[CODE(HTML)@en[[[<input type=email>]]]] の[[値]]で用いられています。
[13] [[IDNA]] によって [[DNS]] には [[IDN]] を格納できるように拡張されていますが、
[[DNS]] に格納されるあらゆるデータに対して [[IDNA]] が適用されるわけではありません。
特に、[[電子メール・アドレス]]はしばしば [[DNS]] に格納されますが、
[[電子メール]]の [CODE(ABNF)@en[[[local-part]]]] は[[ドメイン名スロット]]ではなく、
[[IDNA]] の適用対象外です。 [SRC[>>14, >>16]]
[CODE(ABNF)@en[[[local-part]]]] は[[ACE接頭辞]]ではじまる[['''べきではありません''']]し、
[[ACE接頭辞]]ではじまっていても [[IDN]] ではなく、そのままの[[文字列]]として解釈されます。 [SRC[>>14]]
;; [14] [CITE@en[RFC 3490 - Internationalizing Domain Names in Applications (IDNA)]] ([TIME[2011-01-08 12:07:35 +09:00]] 版) <http://tools.ietf.org/html/rfc3490#section-3.2.2>
;; [16] [CITE@en[RFC 5891 - Internationalized Domain Names in Applications (IDNA): Protocol]] ([TIME[2011-02-05 07:34:21 +09:00]] 版) <http://tools.ietf.org/html/rfc5891#section-3.2.2>
[15] >>13 などと [[SHOULD]] で規定されていますが、[[電子メール・アドレス]]の仕様でもないし、 update
しているわけでもない [[IDNA]] の仕様で [[SHOULD]] といったところで効力はあるんですかねw
「そのまま解釈される」という事実の言明はその通りですが、 [[SHOULD]]
要件には意味が無いような。
[17] [CITE@en[RFC 6943 - Issues in Identifier Comparison for Security Purposes]]
( ([TIME[2013-11-19 01:20:54 +09:00]] 版))
<http://tools.ietf.org/html/rfc6943#section-3.4>
[18] [CITE@en[RFC 2142 - Mailbox Names for Common Services, Roles and Functions]]
( ([TIME[2013-12-05 18:13:39 +09:00]] 版))
<http://tools.ietf.org/html/rfc2142>