メールアドレスに使用できる文字は何ですか?
私は完全なメール検証を求めているわけではありません。
ただ、メールアドレスの user-name
と server
の部分に使用できる文字を知りたいだけです。これは単純化しすぎているかもしれませんし、もしかしたらメールアドレスは別の形をしているかもしれませんが、私は気にしません。私が尋ねているのは、この単純な形式だけです。user-name@server` (例: wild.wezyr@best-server-ever.com)と、両方の部分に使用できる文字。
583
3
RFC 5322: Internet Message Format]1や、RFC 5321: Simple Mail Transfer Protocolなどを参照してください。
RFC 822でも電子メールアドレスを扱っていますが、ほとんどがその構造に関するものです。
また、いつものようにWikipediaにはちゃんとしたarticle on email addressesがあります。
電子メールアドレスのローカルパートは、以下のASCII文字のいずれかを使用できます。
ASCII文字に加えて、2012年現在国際的な上記の文字
U+007F
を使用することができます。これはRFC 6532仕様に記載されているUTF-8としてエンコードされ、Wikipediaで説明されています。 なお、2019年現在、これらの規格はまだProposedと表示されていますが、徐々にロールアウトされています。 この仕様の変更点は、基本的に国際文字を有効な英数字(atext)として追加したもので、許可された&制限された特殊文字(!#
や@:
など)のルールには影響を与えていません。検証については、Using a regular expression to validate an email addressをご覧ください。
ドメイン`の部分は[以下のように]定義されています6。
インターネットのプロトコル標準(Request for Comments)では、コンポーネントのホスト名ラベルには、ASCII文字の
a
~z
(大文字小文字を区別しない)、数字の0
~9
、およびハイフン(-
)のみを含めることが義務付けられています。RFC 952]7のホスト名のオリジナルの仕様では、ラベルは数字やハイフンで始まってはならず、ハイフンで終わってはならないと定められていました。しかし、その後の仕様(RFC 1123)では、ホスト名のラベルが数字で始まることを認めています。その他の記号、句読点、空白文字は使用できません。ウィキペディアには良い記事があります、公式仕様書はこちらですとなっています。Wikipdiaより。
電子メールアドレスのローカルパートには、以下のASCII文字のいずれかを使用できます。
また、引用符付きの文字列(例:"John Doe"@example.com)も許可されており、本来は禁止されている文字を使用することができますが、一般的には使用されていません。また、RFC 5321では、"メールの受信を期待するホストは、Local-partがQuoted-string形式を必要とする(または使用する)メールボックスを定義することを避けるべきであると警告しています"。
wikipediaの記事]1から始めることができます。