RFC(Request for Comments)はインターネット上の技術仕様をまとめているサイトです。2018/08/07におけるRFCのページには次の様にあります。
RFCs cover many aspects of computer networking, including protocols, procedures, programs, and concepts, as well as meeting notes, opinions, and sometimes humor.
RFCは多岐にわたるインターネット技術の多くの側面をカバーしています。HTTPの様なプロトコルの定義に始まり、手続き、プログラム、コンセプト、議事録、ユーモアなどです。ユーモアにはタイトルだけで落ちているようなRFC1149 – 鳥類キャリアによる IP データグラムの伝送規格や洗濯バサミ DHCP による IP アドレスの管理手法といったものがあります。
最近、へぇ~となったのはメールアドレスの規格であるRFC 5321 – Simple Mail Transfer Protocolです。具体的な強制力はありませんが、大体これに従っています。注目するのは4.1.2節のCommand Argument Syntax、メールアドレスの構文です。メールアドレスといえば、@で前後を区切られるアドレスで@はメールアドレス中に一つだけとなんとなく思っている人が多いはずです。RFC 5321には次の様に記述されています。
Mailbox = Local-part "@" ( Domain / address-literal )
Local-part = Dot-string / Quoted-string
; MAY be case-sensitive
...
Quoted-string = DQUOTE *QcontentSMTP DQUOTE
QcontentSMTP = qtextSMTP / quoted-pairSMTP
quoted-pairSMTP = %d92 %d32-126
; i.e., backslash followed by any ASCII
; graphic (including itself) or SPace
qtextSMTP = %d32-33 / %d35-91 / %d93-126
; i.e., within a quoted string, any
; ASCII graphic or space is permitted
; without blackslash-quoting except
; double-quote and the backslash itself.
読み方は変数を当てはめていく感じです。
Mailbox = Local-part "@" ( Domain / address-literal )
Mailbox = (Dot-string / Quoted-string) "@" ( Domain / address-literal )
Mailbox = (Dot-string / DQUOTE *QcontentSMTP DQUOTE) "@" ( Domain / address-literal )
Mailbox = (Dot-string / DQUOTE *(qtextSMTP / quoted-pairSMTP) DQUOTE) "@" ( Domain / address-literal )
Mailbox = (Dot-string / DQUOTE *((%d32-33 / %d35-91 / %d93-126) / quoted-pairSMTP) DQUOTE) "@" ( Domain / address-literal )
括弧の中の注目する部分だけ残して
Mailbox = DQUOTE *(%d32-33 / %d35-91 / %d93-126) DQUOTE "@" ( Domain / address-literal )
%3aから%40までには広く使われる記号が入っており、@も含まれています。DQUOTE、つまり”で括ればこれらも使えるので”@@@@@”@gmail.comなんてアドレスもRFCに準拠するメールアドレスになります。もっとも、””で括ったメールアドレスはあまり一般的とはいえず、インターネット上の少なくない場所で弾かれます。小ネタでした。